Redis List操作
2015-10-19 13:30
288 查看
【Redis List操作】
1、LLEN key
返回列表
如果
如果
2、MULTI
标记一个事务块的开始。
事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
3、SRANDMEMBER key [count]
如果命令执行时,只提供了
从 Redis 2.6 版本开始, SRANDMEMBER 命令接受可选的
如果
如果
该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 SRANDMEMBER 则仅仅返回随机元素,而不对集合进行任何改动。
4、 BLPOP key [key ...] timeout
BLPOP 是列表的阻塞式(blocking)弹出原语。
它是 LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
当给定多个
非阻塞行为
当 BLPOP 被调用时,如果给定
当存在多个给定
假设现在有
BLPOP 保证返回的元素来自
5、RPOPLPUSH source destination
命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:
将列表
将
举个例子,你有两个列表
如果
如果
6、LREM key count value
根据参数
参考:http://redisdoc.com/
1、LLEN key
返回列表
key的长度。
如果
key不存在,则
key被解释为一个空列表,返回
0.
如果
key不是列表类型,返回一个错误。
2、MULTI
标记一个事务块的开始。
事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
3、SRANDMEMBER key [count]
如果命令执行时,只提供了
key参数,那么返回集合中的一个随机元素。
从 Redis 2.6 版本开始, SRANDMEMBER 命令接受可选的
count参数:
如果
count为正数,且小于集合基数,那么命令返回一个包含
count个元素的数组,数组中的元素各不相同。如果
count大于等于集合基数,那么返回整个集合。
如果
count为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为
count的绝对值。
该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 SRANDMEMBER 则仅仅返回随机元素,而不对集合进行任何改动。
4、 BLPOP key [key ...] timeout
BLPOP 是列表的阻塞式(blocking)弹出原语。
它是 LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
当给定多个
key参数时,按参数
key的先后顺序依次检查各个列表,弹出第一个非空列表的头元素。
非阻塞行为
当 BLPOP 被调用时,如果给定
key内至少有一个非空列表,那么弹出遇到的第一个非空列表的头元素,并和被弹出元素所属的列表的名字一起,组成结果返回给调用者。
当存在多个给定
key时, BLPOP 按给定
key参数排列的先后顺序,依次检查各个列表。
假设现在有
job、
command和
request三个列表,其中
job不存在,
command和
request都持有非空列表。考虑以下命令:
BLPOP job command request 0
BLPOP 保证返回的元素来自
command,因为它是按”查找
job-> 查找
command-> 查找
request“这样的顺序,第一个找到的非空列表。
5、RPOPLPUSH source destination
命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:
将列表
source中的最后一个元素(尾元素)弹出,并返回给客户端。
将
source弹出的元素插入到列表
destination,作为
destination列表的的头元素。
举个例子,你有两个列表
source和
destination,
source列表有元素
a, b, c,
destination列表有元素
x, y, z,执行
RPOPLPUSHsource destination之后,
source列表包含元素
a, b,
destination列表包含元素
c, x, y, z,并且元素
c会被返回给客户端。
如果
source不存在,值
nil被返回,并且不执行其他动作。
如果
source和
destination相同,则列表中的表尾元素被移动到表头,并返回该元素,可以把这种特殊情况视作列表的旋转(rotation)操作。
6、LREM key count value
根据参数
count的值,移除列表中与参数
value相等的元素。
count的值可以是以下几种:
count > 0: 从表头开始向表尾搜索,移除与
value相等的元素,数量为
count。
count < 0: 从表尾开始向表头搜索,移除与
value相等的元素,数量为
count的绝对值。
count = 0: 移除表中所有与
value相等的值。
参考:http://redisdoc.com/
相关文章推荐
- Linux下一个Redis启动/关闭/重新启动服务脚本
- redis(二)--命令
- Redis学习笔记
- Redis Java连接使用
- redis(一)--概述
- Redis Sentinel服务配置
- 项目分布式部署那些事(1):ONS消息队列、基于Redis的Session共享,开源共享
- Redis节点配置
- Redis集群配置
- php多进程单例模式下的 MySQL及Redis连接错误修复
- CentOS安装Redis记录
- phpredis:php一个key-value扩展
- redis cluster
- hiredis之坑爹的异步调用
- Redis GEO 测试
- Redis GEO 特性简介
- Spring Cache集成redis
- Redis 集群教程
- redis_常见问题
- redis_常用命令