0
点赞
收藏
分享

微信扫一扫

从redis列表中一次pop出多个

8052cf60ff5c 2022-04-13 阅读 48
java后端

要解决这个问题,我们就需要使用 Redis 的pipeline功能,它可以把多条命令放在一个网络请求中发送到服务器,并默认在一个事务中执行这些命令。一个事务是不会被打断的,从事务开始然后执行里面的多个命令到结束的整个过程,可以看做一个原子操作。

pipeline的使用方法如下:

	$pipe = $redis->multi(Redis::PIPELINE);
	$pipe->lRange($lpushmqkey,0, $loop_num-1);
	$pipe->lTrim($lpushmqkey,$loop_num,-1);
	$data = $pipe->exec();

当代码执行到exec()的时候,它才会真正去连接服务器,然后把待执行的命令在一个事务中一次性执行完成。并返回一个列表。返回的列表有两项,第0项是包含结果的列表,第1项为ltrim 的返回结果。

举报

相关推荐

0 条评论