ush
?
#这里我有连个列表A数据为{1,2,3} ,B列表数据为{4,5,6}
?
127.0.0.1:6379>rpoplpush A B
?
127.0.0.1:6379>lrange A ? ---结果为:1>"1' 2>"2"
?
127.0.0.1:6379>lrange B ? ---结果为:1>"3' 2>"4" 3>"5" 4>"6"
?
6、redis中的几个带阻塞的高级命令:blpop,brpop,brpoplpush
?
127.0.0.1:6379>blpop A 30 ? ---意思是:A列表有值的话,从左边移除一个数据,如果没有值的话,则等待A中插入数据为止,等待时间为30秒,如果时间设置为0表示阻塞时间无限延长
?
127.0.0.1:6379>blpop B30 ? ---意思是:A列表有值的话,从左边移除一个数据,如果没有值的话,则等待A中插入数据为止,等待时间为30秒,如果时间设置为0表示阻塞时间无限延长
?
127.0.0.1:6379>brpoplpush A B 30 ? ---意思是:将A列表的尾元素添加到B列表的头元素中,如果A列表中有值则插入,如果没值,则等待A中插入数据为止,等待时间为30秒,如果时间设置为0表示阻塞时间无限延长
?
Redis实现消息队列,并自带优先级功能
1、首先redis中的list是链表结构,具备消息队列中的先进先出特征。
?
2、从上面的几个高级命令中可以看出,list有几个自带阻塞功能,时间设置为0,可以视为永不休息的监听进程。