一、常用
二、单值多value,且无重复
三、案例
SADD key member [member ...]
添加元素
SMEMBERS key
遍历集合中的所有元素
SISMEMBER key member
判断元素是否在集合中
SREM key member [member ...]
删除元素
scard
获取集合里面的元素个数
SRANDMEMBER key [数字]
从集合中随机展现设置的数字个数元素,元素不删除
* 从set集合里面随机取出2个
* 如果超过最大数量就全部取出,
* 如果写的值是负数,比如-3 ,表示需要取出3个,但是可能会有重复值。
SPOP key [数字]
从集合中随机弹出一个元素,出一个删一个
smove key1 key2
在key1里已存在的某个值
将key1里已存在的某个值赋给key2
集合运算
A、B
A ==》 abc12
B ==》 123ax
集合的差集运算A-B
属于A但不属于B的元素构成的集合
SDIFF key [key ...]
集合的并集运算A ∪ B
属于A或者属于B的元素合并后的集合
SUNION key [key ...]
集合的交集运算 A ∩ B
属于A同时也属于B的共同拥有的元素构成的集合
SINTER key [key ...]
SINTERCARD numbers key [key ...] [LIMIT limit]
redis7新命令
它不返回结果集,而只返回结果的基数
返回由所有给定集合的交集产生的集合的基数
应用场景
1、小程序抽东西
用户ID,立即参与按钮
sadd key 用户ID
显示已经有多少人参与了,上图23208人参加
SCARD key
抽东西(从set中任意选取N个抽中人)
SRANDMEMBER key 2 随机抽中2个人,元素不删除
SPOP key 3 随机抽中3个人,元素会删除
2、朋友圈点赞
新增点赞
sadd pub:msgID 点赞用户ID1 点赞用户ID2
取消点赞
srem pub:msgID 点赞用户ID
展现所有点赞过的用户
SMEMBERS pub:msgID
点赞用户数统计,就是常见的点赞红色数字
scard pub:msgID
判断某个朋友是否对楼主点赞过
SISMEMBER pub:msgID 用户ID
3、内推可能认识的人
标签:10,...,Redis7,元素,数据类型,pub,key,点赞,集合
From: https://blog.51cto.com/u_13236892/7486717