redis中列表阻塞弹出blpop

队列先进先出,栈先进后出

在`redis`中`rpush`和`lpop`经常一起使用

那么`blpop`有什么作用?

`Redis Blpop 命令移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。`

> connect('127.0.0.1',6379);
$redis -> flushAll();
$redis -> lPush('favorite_fruit','apple');
while(1){
echo "sleep";
var_dump($redis -> blPop('favorite_fruit',10));
}

优点

`节约服务器资源`

通过`redis和blpop`可以比较方便的实现`近实时的计划任务`

有任务推入到redis的队列中,然后blpop来消费,没有进行阻塞

比crontab每分钟执行高效很多

    A+
发布日期:2020年10月29日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: