01、操作命令
sadd key1 a b v d e
获取所有元素
smembers key1
统计元素个数
scard key1
随机获取一个元素
srandmember key1
随机弹出一个元素
spop key1
移除一个或者多个元素
srem key1 a v e
查看元素是否存在
sismember key1 a
02、存储(实现)原理
Redis用intset或hashtable存储set。如果元素都是整数类型,就用inset存储。如果不是整数类型,就用hashtable(数组+链表的存来储结构)。
KV怎么存储set的元素?
key就是元素的值,value为null。
如果元素个数超过512个,也会用hashtable存储。
03、应用场景
点赞、签到、打卡
商品标签
商品筛选
获取差集
sdiff key1 key2
获取交集
sinter key1 key2
获取并集
sunion key1 key2
用户关注、推荐模型