-
Hyperf分布式锁
PHP 02-20 54浏览 0评论Hyperf分布式锁封装类<?phpnamespace App\Support;use Hyperf\Redis\Redis;class RedisDistributedLock{ /** * @var Redis */ private Redis $redis; &nb
-
Hyperf自定义进程-mqtt使用做个记录
PHP 11-29 243浏览 0评论Hyperf自定义进程-mqtt使用做个记录composer require php-mqtt/client:*<?phpdeclare(strict_types=1);/** * Notes: * Author: lt * Date: 2022/11/15 0015 * Time: 9:40 * Version: 1 */namespace App\Process;use Ap
-
Hyperf漏斗计数器限流
PHP 11-10 242浏览 0评论Hyperf漏斗计数器限流此项目移植于laravel Cache组件 的rete-limiter对于\Psr\SimpleCache\CacheInterface有了补充,增加方法incrementdecrementaddput安装composer require wilbur-yu/hyperf-cache-ext配置修改配置文件cache.php'default
-
Hyperf 操作 Elasticsearch 协程客户端
PHP 11-09 278浏览 0评论Hyperf 操作 Elasticsearch 协程客户端hyperf/elasticsearch 主要为 elasticsearch-php 进行了客户端对象创建的工厂类封装,elasticsearch-php 默认使用 Guzzle Ring 客户端,在 hyperf/guzzle 中我们实现了协程版本的 Handler,所以可以直接使用 Hyperf\Elasticsearch\Client
-
PHP生成唯一RequestID类
PHP 10-30 239浏览 0评论PHP生成唯一RequestID类<?phpnamespace tool;/** * PHP生成唯一RequestID类 * Date: 2022-10-12 * Author: lt * Version: 1.0 * * Description: * PHP实现生成唯一RequestID类,使用session_create_id()与uniqid()方
-
Hyperf-Task使用
PHP 10-30 315浏览 0评论Hyperf-Task使用操作流程下载task组件composer require hyperf/task配置因为 Task 并不是默认组件,所以在使用的时候需要在 server.php 增加 Task 相关的配置。<?phpdeclare(strict_types=1);use Hyperf\Server\Event;return [ // 这
-
Hyper服务消费者统一响应
PHP 10-23 340浏览 0评论Hyper服务消费者统一响应服务提供者统一响应我们先针对provider统一处理,正常情况下我们手动处理也可以解决问题,比如【App\JsonRpc\UserService::getUserInfo】public function getUserInfo(int $id){ $user = User::query()->find($id);  
-
Hyperf-consul容器ping不通的情况
PHP 10-23 350浏览 0评论Hyperf-consul容器ping不通的情况来看看今天遇到的问题PHP Fatal error: Uncaught GuzzleHttp\Exception\ConnectException: Connection refused in /data/project/hyperf-server/vendor/hyperf/guzzle/src/CoroutineHandler.php
-
PHP添加swoole扩展
PHP 10-13 222浏览 0评论1.下载swoolehttps://pecl.php.net/get/swoole-4.8.12.tgz2.解压tar zxvf swoole-4.8.123.安装cd swoole-4.8.12 /soft/php8/bin/phpize ./configure --with-php-config=/soft/php8/bin/php-config make
-
Mysql触发器操作笔记
MySql 09-13 258浏览 0评论after是先完成数据的增删改,再触发,触发的语句晚于监视的增删改操作,无法影响前面的增删改动作;也就是说先插入订单记录,再更新商品的数量;before是先完成触发,再增删改,触发的语句先于监视的增删改,这样就可以对new进行修改#after是先完成数据的增删改,再触发,触发的语句晚于监视的增删改操作,无法影响前面的增删改动作;也就是说先插入订单记录,再更新商品的数量;#before是先完成触发,
-
mysql性能查询笔记
MySql 08-06 329浏览 0评论索引情况#1.查询冗余索引select * from sys.schema_redundant_indexes;#2.查询未使用过的情况select * from sys.schema_unused_indexes;#3.查询索引的使用情况select index_name,rows_selected,rows_inserted,rows_updated,rows_deleted from sys
-
ElasticSearch使用PHP全套流程实现
PHP 03-30 818浏览 0评论一、安装通过composer安装composer require 'elasticsearch/elasticsearch'二、使用创建ES类<?php require 'vendor/autoload.php'; //如果未设置密码 $es = \Elasticsearch\ClientBuil
-
通俗易懂 InnoDB 锁机制 以及 高并发 下如何解决超卖问题
MySql 03-02 588浏览 0评论1. 锁知识1.1 为什么会有锁的机制最大程度的利用数据库的并发访问;确保每个用户能以一致的方式读取和修改数据。1.2 lock 与 latchlatch 一般叫做闩锁,轻量级。 在InnoDB存储引擎中,latch分为 mutex (互斥锁)和 rwlock(读写锁),目的是用来保证并发线程操作临界资源的正确性,并且通常也没有死锁检测机制。很少用到。lock 是本文的主角,它的对象是事务,用来锁
-
PHP秒杀高并发2套方案各有千秋
PHP 02-28 669浏览 0评论秒杀会产生一个瞬间的高并发,使用数据库会增加数据库的访问压力,也会降低访问速度,所以我们应该使用缓存,来降低数据库的访问压力。可以看出这里的操作和原来的下单是不一样的:产生的秒杀预订单不会马上写入数据库,会先写入缓存,等用户支付成功时,修改状态,写入数据库。假设num是存储在数据库中的字段,保存了被秒杀产品的剩余数量。if($num > 0){
-
TP6.0 扩展类库目录(extend)使用
PHP 02-25 1227浏览 0评论框架根目录下的 extend 目录称为 扩展类库目录,用于存放一些自定义的类,只要符合自动加载的规范(命名空间、类名、文件名),就可以拿来直接使用1. extend 目录的直接子内容假设在 extend 目录下创建一个 Upload.php 文件,如果是 extend 目录的直接子内容则不需要添加命名空间<?php class Upload { }此时可以在控