Redis常用命令(二)列表键、无序集合键

### 列表键的元素基本类型为string,按照插入顺序排序


lpush key value1 value2 ..  # 在列表左侧插入数据

lpush name dai liu wang


rpush key value1 value2 ...  # 在列表右侧插入数据

rpush name a b c


lpop key  # 移除并返回列表最左端的项

lpop language


rpop key  # 移除并返回列表最右端的项

rpop language


# lpop的阻塞版本,命令会从左到右,访问给定的各个列表,并弹出首个非空列表最左端的项

# 如果所有列表都为空,那么客户端会被阻塞,直到等待超时或者有可弹出的项出现为止。

# 0表示永远阻塞

blpop key [key ...] timeout

blpop a100 language 5


brpop key [key ....] timeout  # 与blpop相反,命令从左到右执行,弹出首个非空列表最右端的项

brpop a100 language 5


llen key  # 返回列表键key的长度

llen language


lindex key index  # 返回列表键中指定索引index上的列表项,索引可以是正数或者负数

lindex language 0


linsert key before或after 现有元素 新元素  # 在指定元素的前或后插入新元素

linsert name before a d

linsert name after a e


lrange key start stop  # 返回列表里指定范围内的元素,start、stop为元素的下标索引,索引从左侧开始,第一个元素为0,

   # 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素

lrange name 0 -1


lset key index value  # 将指定索引位置的列表项设置为value,索引从左侧开始,第一个元素为0,

  # 索引可以是负数,表示尾部开始计数,如-1表示最后一个元素

lset name 4 zhao


# 删除指定元素,将列表中前count次出现的值为value的元素移除

# count > 0: 从头往尾移除,count < 0: 从尾往头移除,count = 0: 移除所有

lrem key count value

lrem py12 2 h0  # 从py12列表左侧开始删除2个h0


ltrim key start stop  # 对列表进行修剪,让列表只保留指定索引范围内的列表项,索引可以是正数或负数

ltrim user::daiby::timeline 0 4



### set 无序集合,元素为string类型,元素具有唯一性,不重复,说明:对于集合没有修改操作

sadd key member1 member2 ...  # 添加元素

sadd py10 aaa bbb ccc aaa  --> (integer) 3


smembers key  # 返回所有的元素,当集合比较大时,这个命令可能会造成服务器阻塞

smembers py10


srem key member1 member2 ...  # 删除指定元素

srem py10 aaa


sismember key member  # 检查给定的元素是否存在于集合

sismember friends jack


scard key  # 返回集合包含的元素数量

scard friends


spop key  # 随机的从集合中移除并返回一个元素

spop friends


# 如果没有给定可选的count参数,命令随机返回集合中的一个元素,该元素不会被移除

# 如果指定了count,那么从集合中随机返回count数量的元素

srandmember key [count]

srandmember friends 3


sdiff key [key...]  # 计算所有给定集合的差集,并返回结果

sadd num1 111 222 333

sadd num2 222 333 444

sdiff num1 num2   --> 111


sdiffstore destkey key [key...]  # 计算所有给定集合的差集,并将结果存储到destkey

sdiffstore num3 num1 num2


sinter key [key...]  # 计算所有给定集合的交集,并返回结果

sinter num1 num2


sinterstore destkey key [key...]  # 计算所有给定集合的交集,并将结果存储到destkey

sinterstore num3 num1 num2


sunion key [key...]  # 计算所有给定集合的并集,并返回结果

sunion num1 num2


sunionstore destkey key [key...]  # 计算所有给定集合的并集,并将结果存储到destkey

sunionstore num3 num1 num2

本文转自戴柏阳的博客博客51CTO博客,原文链接http://blog.51cto.com/daibaiyang119/1962373如需转载请自行联系原作者

daibaiyang119
上一篇:Redis安装与常用命令整合


下一篇:RoR深入探索——Tale Wiki