新的存储需求:存储大量的数据,在查询方面提供更高的效率
需要的存储结构:能够保存大量的数据,搞笑的内部存储机制,便于查询
添加数据
sadd key member1 [member2]
获取全部数据
smembers key
删除数据
srem key member1 [member2]
获取集合数据总量
scard key
判断集合中是否包含指定数据
sismember key member
业务场景
用户设置3项爱好,如何随机推送信息
随机获取集合中指定数量的数据
srandmember key [count]
随机获取集合中的某个数据并将该数据移出集合
spop key
set的存在可以让redis应用于随机推荐类信息检索,例如热点歌单推荐,新闻推荐,应用APP,旅游路线
业务场景
好友共同关注公众号数量,好友推荐
求两个集合的交、并、差集
sinter key1 [key2]
sunion key1 [key2]
sdiff key1 [key2] ----差集具有方向性的,顺序是key1-key2
求两个集合的交、并、差集并存储到指定集合中
sinterstore destination key1 [key2]
sunionstore destination key1 [key2]
sdiffstore destination key1 [key2]
将指定数据从原始集合中移动到目标集合中
smove source destinaton member
应用场景
公司有很多人,每个人可能不止一个身份,有可能有权限重叠的地方
解决思路,set的key不会重复
应用场景
黑白名单
使用sismember实现