redis streams,

Redis Streams的结构如上图所示,它有一个消息链表,将所有加入的消息都串起来,每个消息都有一个唯一的ID和对应的内容。消息是持久化的,Redis重启后,内容还在。而且可以进行广播通知,每个消费者都有单独的状态变量(PEL),可以知道每个消费者的消费情况,消费者之间互不影响

注意redis版本需要5.0+

学习链接

php扩展: 请输入链接描述

php扩展安装:

wget https://github.com/phpredis/phpredis/archive/php7.zip
unzip php7.zip
cd php7
/usr/local/php/bin/phpize 
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
//修改php.ini 增加extension
php -m |grep redis
//出现redis扩展即成功

redis docker安装

docker pull redis
docker run --name redis5 -p 6379:6379 -v /data/redis/master:/data -d redis redis-server --appendonly yes

操作

命令行操作:Redis5.0新特性Stream尝鲜 这篇文章已经写得比较清楚了,就不赘述

操作中需要注意的事项:

命令行下基本没啥问题,比较redis那么成熟的东西了,但是php扩展不得不吐槽一下,他文档里面xReadGroup里面写的
111.png

第三个阻塞的情况最后个参数值能传 '>', 传其他值是没有用的,不会阻塞。具体原因不详,反正按官方示例是会出错了的。
还有个坑要注意,xRead的stream末尾读取参数是 $,而组的是 '>', 一般不注意的话也会出现不阻塞的问题。
总体来说还是很强大的,简单方便。

标签: 无

发表评论: