redis Set基础命令

文章介绍了Redis中Set数据结构的常用操作,如`sadd`添加元素,`smembers`查看所有元素,`sismember`判断元素是否存在,`srem`删除元素,`spop`随机删除,`srandmember`随机获取,以及`sdiff`,`sinter`,`sunion`进行集合的差集、交集和并集计算。这些操作在处理无序不重复数据时非常有用,例如在社交网络中实现共同关注和推荐好友等功能。
摘要由CSDN通过智能技术生成

set中的值是不能重复的(无序)

##############插入值#####################################
sadd [key] [members...]     添加数据
smembers [key]                查看set所有数据

127.0.0.1:6379> sadd set one tow three four five
(integer) 5
127.0.0.1:6379> smembers set
1) "four"
2) "three"
3) "tow"
4) "one"
5) "five"

##############判断值是否存在set################################
sismember [key] [member]    存在返回1,不存在返回0
scard [key]                    获取集合的内容数据个数

127.0.0.1:6379> sismember set one
(integer) 1
127.0.0.1:6379> sismember set one1
(integer) 0


127.0.0.1:6379> scard set
(integer) 5

############删除#####################################
srem [key] [member...]            删除指定值
spop [key] [count]                随机删除一些元素

127.0.0.1:6379> srem set one tow
(integer) 2
127.0.0.1:6379> smembers set
1) "four"
2) "three"
3) "five"

127.0.0.1:6379> spop set 1
1) "five"
127.0.0.1:6379> spop set 
"four"


############随机获取值#####################################
#可用于抽奖
srandmember [key] [count]

127.0.0.1:6379> srandmember set
"three"
127.0.0.1:6379> srandmember set
"three"
127.0.0.1:6379> srandmember set
"five"
127.0.0.1:6379> srandmember set 2
1) "four"
2) "three"

###########smove移动元素####################################
smove [源集合] [新集合] [member]

127.0.0.1:6379> smembers oldSet
1) "four"
2) "three"
3) "tow"
4) "one"
5) "five"
127.0.0.1:6379> smove oldSet newSet one
(integer) 1
127.0.0.1:6379> smembers oldSet
1) "three"
2) "tow"
3) "four"
4) "five"
127.0.0.1:6379> smembers newSet
1) "one"


##########数学集合#####################################
sdiff [集合1] [集合2]...         差集(属于集合1,不属于集合2)
sinter [集合1] [集合2]...        交集(属于集合1,也属于集合2)
sunion [集合1] [集合2]...        并集(集合1和集合2合起来的)

127.0.0.1:6379> smembers key1
1) "d"
2) "c"
3) "b"
4) "a"
127.0.0.1:6379> smembers key2
1) "f"
2) "e"
3) "d"
4) "a"
5) "c"
127.0.0.1:6379> sdiff key1 key2
1) "b"
127.0.0.1:6379> sinter key1 key2
1) "d"
2) "c"
3) "a"
127.0.0.1:6379> sunion key1 key2
1) "f"
2) "e"
3) "d"
4) "a"
5) "c"
6) "b"

应用场景:微博,A用户将所有关注的人放在一个set集合中!将他的粉丝也放在一个集合中!
共同关注,共同爱好,二度好友,推荐好友!(六度分割理论)

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、付费专栏及课程。

余额充值