Redis——》数据类型:set(集合)

推荐链接:
    总结——》【Java】
    总结——》【Mysql】
    总结——》【Redis】
    总结——》【Spring】
    总结——》【SpringBoot】
    总结——》【MyBatis、MyBatis-Plus】


相关链接:
    Redis——》数据类型
    Redis——》数据类型:string(字符串)
    Redis——》数据类型:hash(哈希)
    Redis——》数据类型:list(列表)
    Redis——》数据类型:set(集合)
    Redis——》数据类型:zset(有序集合)
    Redis——》数据类型:bitmap

一、简介

集合(set)类型是用来保存多个的字符串元素,但是不允许重复元素

二、应用场景

用户标签、生成随机数抽奖、社交需求

三、底层结构

intset(整数集合)、hashtable(哈希表)

四、操作示例

(1)增

语法示例描述
sadd key member1 [member2]sadd k1 a b向集合添加一个或多个成员
smove source destination membersmove k1 k2 1将 member 元素从 source 集合移动到 destination 集合

(2)删

语法示例描述
spop keyspop k1移除并返回集合中的一个随机元素
srem key member1 [member2]srem k1 a b移除集合中一个或多个成员

(3)改

见增

(4)查

语法示例描述
scard keyscard k1获取集合的成员数
smembers keysmembers k1返回集合中的所有成员
sismember key membersismember k1 a判断 member 元素是否是集合 key 的成员
srandmember key [count]srandmember k1 1返回集合中一个或多个随机数
sscan key cursor [MATCH pattern] [COUNT count]迭代集合中的元素

(5)计算

语法示例描述
SDIFF key1 [key2]sdiff k1 k2返回给定所有集合的差集
SDIFFSTORE destination key1 [key2]sdiffstore destkey k1 k2返回给定所有集合的差集并存储在 destination 中
SINTER key1 [key2]sinter k1 k2返回给定所有集合的交集
SINTERSTORE destination key1 [key2]sinterstore destkey k1 k2返回给定所有集合的交集并存储在 destination 中
SUNION key1 [key2]sunion k1 k2返回所有给定集合的并集
SUNIONSTORE destination key1 [key2]sunionstore destkey k1 k2所有给定集合的并集存储在 destination 集合中
sadd k1 tom sean peter ooxx tom 
smembers k1

srem k1 ooxx
smembers k1

sadd k2 1 2 3 4 5
sadd k3 4 5 6 7 8 
# 交集
sinter k2 k3

# 把交集存到目标dest中
sinterstore dest k2 k3
smembers dest

# 并集
sunion k2 k3
# 把交集存到目标dest中
sunionsotre dest k2 k3
smembers dest

# 差集,k2比k3多的元素,后边做为前边的参考
sdiff k2 k3

# 差集,k3比k2多的元素,后边做为前边的参考
sdiff k3 k2

# 存入用户:4个
sadd k1 tom sean peter ooxx  
# 随机抽取3,人不能重复
srandmember k1 3

# 随机抽取3,2可以重复
srandmember k1 -3


  
# 礼物>人数,随机抽取3,人能重复
srandmember k1 -20

# 抽取1个
spop k1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值