redis brpoplpush list命令简介


一、命令简介

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

brpoplpush = brpop + lpush 命令的组合命令 单条命令具有两种命令的功能
此命令的主要功能为:
将一个元素从列表中取出 并放入另一个列表中


二、命令使用说明

命令语法如下:

redis 192.168.8.123>brpoplpush listKeyName1 listKeyName2 timeOut(超时时间(命令挂起等待的时间))
注意事项:

  1 listKeyName1 listKeyName2 必须为list(列表)或不存在redis数据库中
  2 timeOut   必须为一个大于等于0的整数
  3 当timeout 等于0 挂起等待时间为无限大
  4 当timeout 大于0 挂起等待时间为timeout秒数
  5 如果客户端命令等待时间大于超时时间后,并且listKeyName1为空,此时会返回(nil)
  6 当在超时时间内,listKeyName1 存在数据时,此命令会从listKeyName1中最先插入的元素中获取一个元素插入至listKeyName2中,并返回操作的元素值。
  


例:

   
客户端1:
redis 192.168.8.123:6379> flushdb //清空当前redis数据库
OK
redis 192.168.8.123:6379> set k v   //设置一个string类型的数据
OK  
redis 192.168.8.123:6379> brpoplpush k k2 24 //对一个非list(列表)的数据类型进行操作,返回相应的错误信息
(error) WRONGTYPE Operation against a key holding the wrong kind of value
redis 192.168.8.123:6379> lpush k1 v1 //生成一个list(列表)数据类型
(integer) 1
redis 192.168.8.123:6379> lpush k1 v2  //生成一个list(列表)数据类型
(integer) 2
redis 192.168.8.123:6379> lpush k1 v3  //生成一个list(列表)数据类型
(integer) 3
redis 192.168.8.123:6379> brpoplpush k1 k2 10  //命令执行成功  返回操作的元素
"v1"
redis 192.168.8.123:6379> brpoplpush k1 k2 10
"v2"
redis 192.168.8.123:6379> brpoplpush k3 k2 100 //进入阻塞等待100秒,一旦发现k3中存在值,则将元素插入k2中 返回相应结果
"1"
(6.74s) 

客户端2:
 

redis 192.168.8.123:6379> lpush k3 1
(integer) 1 
redis 192.168.8.123:6379>

相关阅读:
redis brpop 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数据库简介