Set(集合)
存放值
- sadd key value
- 和java的Set一样是不存在相同的值的,存放相同的值会被覆盖
获取值
- smembers key
- 获取元素
获取元素数量
- scard key
- 获取数量
返回第一个集合与其他集合的差异(以第一个为准)
- sdiff key key1
将给定集合的差异存储到指定的集合中
- sdiffstore 目标set 基准set 对比set
- 就是将上面的图的结果存储到新的set 中,如果原来存在,会被覆盖
返回指定set的交集
- sinter key1 key2
- 指定集合的交集
- set(1,2,3,4,5)
- set1(3,4,5,6,7)
- 交集 3,4,5
将返回的交集存储到指定的集合中
- sinterstore 目标set 基准set 对比set
- 返回交集存储
- 存储会覆盖指定的set
判断指定值是否存在指定的集合中
- sismember key value
- 存在返回1,不存在返回0
将指定集合的指定元素移动到指定目标集合中
- smove 源集合 目标集合 值
- 将6从set1 移动到set
随机移除集合中指定数量的元素
- spop key 数量
- 随机移除3个元素
随机返回集合中指定数量的元素
- srandmember key 数量
- 随机返回两个元素
移除集合中一个或多个成员
- srem key value[v循环,空格分割]
- 移除指定的3和4
返回指定集合的并集
- sunion key key1
- 返回两个集合的并集
- 其实对两个集合中的数据进行去重
将返回指定集合的并集进行存储
- sunionstore 目标集合 key1 key2
- 将set1 和 set的集合并集存储到setnew
使用场景:
- 可以采用Set的并集,交集,差集实现
- 交集:共同好友
- 交集大于指定阈值,可以通过差集实现可能认识的好友
作者:彼岸舞
时间:2021 5 5
内容关于:Redis
本文属于作者原创,未经允许,禁止转发