Redis开发运维实践数据操作之集合操作

2.4.1 添加元素

sadd key member

成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误


2.4.2 移除元素

srem key member

成功返回1,如果member在集合中不存在或者key不存在返回0,如果key对应的不是set类型的值返回错误


2.4.3 删除并返回元素

spop key

如果set是空或者key不存在返回nil


2.4.4 随机返回一个元素

srandmember key 

同spop,随机取set中的一个元素,但是不删除元素


2.4.5 集合间移动元素

smove srckey dstkey member 

从srckey对应set中移除member并添加到dstkey对应set中,整个操作是原子的。成功返回1,如果member在srckey中不存在返回0,如果key不是set类型返回错误


2.4.6 查看集合大小

scard key

如果set是空或者key不存在返回0


2.4.7 判断member是否在set中

sismember key member

存在返回1,0表示不存在或者key不存在


2.4.8 集合交集

sinter key1 key2...keyN 

返回所有给定key的交集


sinterstore dstkey key1...keyN 

同sinter,但是会同时将交集存到dstkey下


2.4.9 集合并集

sunion key1 key2...keyN 

返回所有给定key的并集


sunionstore dstkey key1...keyN 

同sunion,并同时保存并集到dstkey下


2.4.10 集合差集

sdiff key1 key2...keyN 

返回所有给定key的差集


sdiffstore dstkey key1...keyN 

同sdiff,并同时保存差集到dstkey下


2.4.11 获取所有元素

smembers key 

返回key对应set的所有元素,结果是无序的,集合元素很多时会阻塞,生产上禁用!


本文为《Redis开发运维实践指南》内容,该书作者为黄鹏程,已授权云栖社区转载。

上一篇:2020年6月编程语言排行榜出炉-C稳住第一、Rust首次进入TIOBE指数前20名


下一篇:Redis开发与运维. 导读