redis blpop list命令简介


一、命令简介

blpop list命令在redis中主要功能是:

blpop命令 返回 列表键中的一个元素(后进的元素),如果键中没有相关元素,此客户端则会在超时时间内挂起等待,直到键中接收到元素值,并将此命令执行完毕后,
再执行其它命令


二、命令使用说明

命令语法如下:

语法样式1:
 redis 192.168.8.123>blpop listKeyName1 listKeyName2 listKeyName3 ... timeOut(超时时间--单位秒)
语法样式2:
 redid 192.168.8.123>blpop listKeyName timeout(超时时间--单位秒)
注意事项:

   1 listKeyName listKeyName1 listKeyName2 listKeyName3 ...必须为list(列表)类型,或不存在于redis数据库中。
   2 timeOut   必须为一个大于等于0的整数
   3 当timeout 等于0 挂起等待时间为无限大
   4 当timeout 大于0 挂起等待时间为timeout秒数
   5 如果客户端命令等待时间大于超时时间后,所有的元素列表都为空,此时会返回(nil)
   6 blpop命令执行方法 首先获取 listKeyName1 中的元素,如果为空,则继续 查找listKeyName2 中的元素 ,如果为空,则继续查找listKeyName3 依次查找。
      当blpop命令在阻塞等待时,此时listKeyName1  listKeyName2   listKeyName3 ... 中任意一个键中存在元素,则客户端会返回相应的键值,并返回相应的元素值,跳出命令。
   


例:

 客户端1 :

redis 192.168.8.123:6379> flushdb //清空当前数据库
OK
redis 192.168.8.123:6379> set k v //设置一个string数据类型的键
OK 
redis 192.168.8.123:6379> blpop k 12 //对一个非list(列表)的数据类型操作返回异常
(error) WRONGTYPE Operation against a key holding the wrong kind of value
redis 192.168.8.123:6379> blpop k2 10 //对一个无元素的list(列表)执行blpop命令,等待10秒后,系统自动超时返回nil
(nil)
(10.04s)
redis 192.168.8.123:6379> blpop k2 10  //2016-11-24 13:55:10 开始执行blpop命令 超时时间设置为10秒
1) "k2"
2) "25"
(4.14s)
redis 192.168.8.123:6379> keys *
1) "k" 
redis 192.168.8.123:6379> blpop k2 k3 k4 20 //2016-11-24 13:56:00 开始对list(列表)键  k2 k3 k4  执行blpop命令   超时时间设置为20秒
1) "k3"
2) "value3"
(8.51s)
redis 192.168.8.123:6379> keys *
1) "k" 


客户端2:
redis 192.168.8.123:6379> lpush k2 25 //2016-11-24 13:55:14 对list(列表)k2键插入一个元素
(integer) 1
redis 192.168.8.123:6379> lpush k3 value3 //2016-11-24 13:56:07 对list(列表)k3键插入一个元素
(integer) 1 

如下图所示:

redis blpop list命令简介

redis blpop list命令简介


相关阅读:
redis rpushx list命令简介
redis rpush list命令简介
redis rpoplpush list命令简介
redis rpop list命令简介
redis ltrim list命令简介
redis lset list命令简介
redis lrem list命令简介
redis lrange list命令简介
redis lindex list命令简介
redis lpushx list命令用法简介
redis llen list 命令简介
redis lpush list命令
redis lpop list 命令简介
redis数据库 数据类型”列表-list”简介
window redis 文件夹文件说明 (二) —[ redis-cli]
window redis 文件夹文件说明 (一 )
Redis 数据类型简介
windows下 Redis配置
c# redis应用实例
redis相关简介
KV数据库简介