redis set命令操作

1.添加一个或多个成员到set
SADD key member [member ...]
summary: Add one or more members to a set
since: 1.0.0
127.0.0.1:6379> sadd set1 val1 val2 val3
(integer) 3


2.获取一个set的成员数量
SCARD key
summary: Get the number of members in a set
since: 1.0.0
127.0.0.1:6379> scard set1
(integer) 3


3.查询在第一个set中但不在后续set中的成员,并返回
SDIFF key [key ...]
summary: Subtract multiple sets
since: 1.0.0
127.0.0.1:6379> SMEMBERS set1
1) "val3"
2) "val4"
3) "val5"
4) "val2"
5) "val1"
127.0.0.1:6379> SMEMBERS set2
1) "val3"
2) "val4"
3) "val2"
127.0.0.1:6379> SDIFF set2 set1
(empty list or set)
127.0.0.1:6379> SDIFF set1 set2
1) "val5"
2) "val1"


4.查询key1中的成员但不在key2等后续key中的成员,并将获得的结果放在des-key中
SDIFFSTORE des-key key1 [key2 ...]
summary: Subtract multiple sets and store the resulting set in a key
since: 1.0.0
127.0.0.1:6379> SDIFFSTORE set3 set1 set2
(integer) 2
127.0.0.1:6379> SMEMBERS set3
1) "val5"
2) "val1"


5.查询set中的重复项
SINTER key [key ...]
summary: Intersect multiple sets
since: 1.0.0
127.0.0.1:6379> sinter set1 set2
1) "val3"
2) "val4"
3) "val2"
127.0.0.1:6379> sinter set2 set1
1) "val3"
2) "val4"
3) "val2"


6.查询set中的重复项,并放在目标set中
SINTERSTORE des-key key [key ...]
summary: Intersect multiple sets and store the resulting set in a key
since: 1.0.0
127.0.0.1:6379> SINTERSTORE set4 set1 set2
(integer) 3
127.0.0.1:6379> SMEMBERS set4
1) "val3"
2) "val2"
3) "val4"


7.查询指定的成员是否在指定的key中(在返回1,不在返回0)
SISMEMBER key member
summary: Determine if a given value is a member of a set
since: 1.0.0


8.查询set中所有的成员
SMEMBERS key
summary: Get all the members in a set
since: 1.0.0
127.0.0.1:6379> SMEMBERS set4
1) "val3"
2) "val2"
3) "val4"


9.将set中的一个成员从set移到另一个set
SMOVE source destination member
summary: Move a member from one set to another
since: 1.0.0
127.0.0.1:6379> smove set4 set3 val3
(integer) 1
127.0.0.1:6379> SMEMBERS set4
1) "val2"
2) "val4"
127.0.0.1:6379> SMEMBERS set3
1) "val3"
2) "val5"
3) "val1"


10.移除并返回随机的成员
SPOP key
summary: Remove and return a random member from a set
since: 1.0.0
127.0.0.1:6379> SMEMBERS set3
1) "val3"
2) "val5"
3) "val1"
127.0.0.1:6379> spop set3
"val1"
127.0.0.1:6379> SMEMBERS set3
1) "val3"
2) "val5"


11.获取一个或多个随机成员(count指代获取的数目)
SRANDMEMBER key [count]
summary: Get one or multiple random members from a set
since: 1.0.0
127.0.0.1:6379> SRANDMEMBER set3 2
1) "val3"
2) "val5"


12.移除set中的一个或多个成员
SREM key member [member ...]
summary: Remove one or more members from a set
since: 1.0.0
127.0.0.1:6379> srem set3 val3 val4
(integer) 1  #只删除了val3,val4不存在所以返回1


13.添加多个sets,显示多个sets的结果,不重复
SUNION key [key ...]
summary: Add multiple sets
since: 1.0.0


127.0.0.1:6379> SUNION set3 set4 set1
1) "val3"
2) "val5"
3) "val4"
4) "val2"
5) "val1"


14.连接多个set结果,并将结果存在目标set中
SUNIONSTORE dest-key key [key ...]
summary: Add multiple sets and store the resulting set in a key
since: 1.0.0


127.0.0.1:6379> SUNIONstore  set6  set3 set4 set1
(integer) 5



Redisset命令用于对集合进行操作Redis提供了多个set命令,包括以下几个常用的命令:keys、string、hash、list、set、sorted set、HyperLogLog、发布订阅、事务、脚本、连接和服务器等命令。 其中,keys命令用于获取符合指定模式的键名列表;string命令用于对字符串类型的值进行操作;hash命令用于对哈希类型的值进行操作;list命令用于对列表类型的值进行操作set命令用于对集合类型的值进行操作;sorted set命令用于对有序集合类型的值进行操作;HyperLogLog命令用于对基数估计数据结构进行操作;发布订阅命令用于实现消息发布和订阅功能;事务命令用于对多个命令进行事务性操作;脚本命令用于执行Lua脚本;连接命令用于管理客户端连接;服务器命令用于管理Redis服务器的运行等。 此外,Redis还提供了SINTERSTORE命令,用于计算给定集合的交集,并将结果存储到指定的键中。使用SMEMBERS命令获取集合元素时,应注意不对元素的排列顺序做任何假设。如果需要排序,可以在客户端对返回的元素进行排序,或者直接使用Redis提供的有序结构(例如列表和有序集合)。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [redis命令大全](https://download.csdn.net/download/qq_35275903/10365590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Redis 基础 -- 集合 Set 类型 和 Set 类型的常用命令](https://blog.csdn.net/I_r_o_n_M_a_n/article/details/124549481)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值