php
azh89125
这个作者很懒,什么都没留下…
展开
-
php deployer 从入门到精通
php deployer 从入门到精通原创 2022-08-27 17:46:39 · 715 阅读 · 0 评论 -
php 十大排序算法
php 十大排序算法原创 2022-08-23 17:05:31 · 463 阅读 · 0 评论 -
php 模拟hashTable
模拟hashTable,包括hash碰撞原创 2022-08-12 14:11:59 · 100 阅读 · 0 评论 -
php 约瑟夫环
约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。●首先A开始报数,他报1。侥幸逃过一劫。●然后轮到B报数,他报2。非常惨,他被杀了●C接着从1开始报数●接着轮到A报数,他报2。也被杀死了。●最终胜利者是C...原创 2022-08-12 11:42:20 · 297 阅读 · 0 评论 -
数据结构与算法
数据结构和算法之美 - 文集 - 简书转载 2022-04-05 18:13:08 · 103 阅读 · 0 评论 -
redis HyperLogLog
redis hyperloglog原创 2022-03-19 14:57:54 · 140 阅读 · 0 评论 -
elasticsearch 7.x 聚合查询
elasticSearch 7.x 聚合查询原创 2022-01-20 18:26:57 · 496 阅读 · 0 评论 -
elasticsearch 7.x 常见问题
elasticSearch7.x常见问题原创 2022-01-20 10:32:08 · 1613 阅读 · 0 评论 -
elasticsearch 7.x 增删改查
elasticsearch 7.x 增删改查原创 2022-01-17 14:23:58 · 1269 阅读 · 0 评论 -
elasticsearch 模板
elasticsearch 模板,动态模板和索引模板原创 2022-01-17 11:49:58 · 2478 阅读 · 0 评论 -
fastcgi cgi区别
作者:Journey Lin链接:https://www.zhihu.com/question/30672017/answer/127048585来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。讲Fastcgi之前需要先讲CGI,CGI是为了保证web server传递过来的数据是标准格式的,它是一个协议,方便CGI程序的编写者。Fastcgi是CGI的更高级的一种方式,是用来提高CGI程序性能的。web server(如nginx)只是内容的分发者。比如,如.原创 2021-08-25 09:27:22 · 128 阅读 · 0 评论 -
数据结构可视化网址
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html原创 2021-08-23 09:03:02 · 109 阅读 · 0 评论 -
php kafka 原生
<?phpclass Kafka{ private $conf=[ 'log_level'=>LOG_DEBUG, 'debug'=>"all", 'metadata.broker.list'=>'localhost:9092', 'socket.timeout.ms'=>50 ]; private static $instance = null; private $enab.原创 2021-08-20 09:47:40 · 204 阅读 · 0 评论 -
php 数组地址引用
<?php$arr = array('a' => 1, 'b' => 2, 'c' => 3);foreach ($arr as $key => &$val) {}print_r($arr);foreach($arr as $key => $val) {}print_r($arr);?>结果如下:Array ( [a] => 1 [b] => 2 [c] => 3 )第二次foreachArray ( [a] =&.原创 2021-08-19 09:02:00 · 437 阅读 · 0 评论 -
kafka 总结
1.Kafka 的设计时什么样的呢?Kafka 将消息以 topic 为单位进行归纳将向 Kafka topic 发布消息的程序成为 producers.将预订 topics 并消费消息的程序成为 consumer.Kafka 以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个 broker.producers 通过网络将消息发送到 Kafka 集群,集群向消费者提供消息2.数据传输的事物定义有哪三种?数据传输的事务定义通常有以下三种级别:(1)最多一次: 消息不会被重复发送,最多被传输一次.原创 2021-08-16 10:01:43 · 218 阅读 · 0 评论 -
kafka 文件配置
kafka的配置分为 broker、producter、consumer三个不同的配置一 BROKER 的全局配置最为核心的三个配置 broker.id、log.dir、zookeeper.connect 。 ------------------------------------------- 系统 相关 -------------------------------------------##每一个broker在集群中的唯一标示,要求是正数。在改变IP地址,不改变broker.id的话.原创 2021-08-16 09:57:26 · 185 阅读 · 0 评论 -
php实现分布式锁
1.锁实现的注意点互斥: 任意时刻, 只能有一个客户端获得锁 不会死锁: 客户端持有锁期间崩溃, 没有主动解除锁, 能保证后续的其他客户端获得锁 锁归属标识: 加锁和解锁的必须是同一个客户端, 客户端不能解掉非自己持有的锁(锁应具备标识2.锁的几种错误类型 Redis 锁错误使用之一 $redis = new Redis();$redis->connect("127.0.0.1",6379);$cacheKey = "lock";$res = $redis->.原创 2021-08-04 17:33:49 · 774 阅读 · 1 评论 -
php redis 令牌桶算法
1.令牌桶原理 定时向桶内放一定数量令牌,每次访问拿走一个令牌,如果桶内令牌消耗完了说明超过负载.2.php实现令牌桶<?phpclass TrafficShaper{ protected $redis = null; protected $max = 0; protected $queue=""; public function __construct($max,$queue) { $this->max = $..原创 2021-08-01 15:45:17 · 601 阅读 · 0 评论 -
php redis-cell限流
1.redis-cell 安装# 设置下载位置mkdir redis-cell# 在该位置 下载包wget https://github.com/brandur/redis-cell/releases/download/v0.2.5/redis-cell-v0.2.5-x86_64-unknown-linux-gnu.tar.gz# 解压tar -zxvf redis-cell/releases/download/v0.2.5/redis-cell-v0.2.5-x86_64-unkn.原创 2021-08-01 14:24:13 · 390 阅读 · 0 评论 -
php redis 利用zset 限流
思路1、限流需求中存在一个滑动的时间窗口,而zset的score值可以用来圈定时间窗口,窗口之外的数据都可以删除2、zset的value需要是一个唯一的值,只需要保证唯一性即可3、如果按照某个接口单位时间允许访问次数,那么key可以用接口路径,如果是限制单个用户那么key可以结合userId4、缺点是内存有可能占用过多,如果用户60s之内不能请求超过100w次,那么就需要在zset中添加100w个值<?phpclass Limit{ public $redis = n原创 2021-07-28 09:47:07 · 765 阅读 · 1 评论 -
redis 持久化RDB AOF区别
RDB 详解rdb是redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。1.rdb 核心规则配置save 900 1save 300 10save 60 10000解说:save <指定时间间隔> <执行指定次数更新操作>,满足条件就将内存中的数据同步到硬盘中。官方出厂配置默认是 900秒内有1个更改,300秒内原创 2021-07-20 19:29:57 · 140 阅读 · 0 评论 -
php rabbitmq 扇形交换机
扇形交换机扇形交换机会把能接收到的消息全部发送给绑定在自己身上的队列。因为广播不需要“思考”,所以扇形交换机处理消息的速度也是所有的交换机类型里面最快的。1.生产者<?php/** * Created by PhpStorm. * User: Administrator * Date: 2020/5/31 * Time: 17:09 */require_once 'vendor/autoload.php';use PhpAmqpLib\Connection\AMQPSt原创 2020-05-31 17:19:22 · 301 阅读 · 0 评论 -
php rabbitmq topic 交换机
Topic exchange发送到一个话题交换机(topic exchange)信息,不能是任意routing_key -它必须是一个单词的列表,用逗号分隔。这些词可以是任何东西,但通常它们指定连接到消息的某些特性。一些有效的路由键的例子:stock.usd.nyse、nyse.vmw、"quick.orange.rabbit"。在你喜欢的路由键中,最多可以有255个字节的单词。绑定键也必须是相同的形式。主题交换背后的逻辑类似于一个直接的消息,用特定的路由键发送的消息将被发送到绑定到绑定键的所有队列原创 2020-05-31 16:55:49 · 656 阅读 · 0 评论
分享