redis5--set的操作

Posted gaomatlab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis5--set的操作相关的知识,希望对你有一定的参考价值。

Set集合类型
(1)介绍
redis的set是string类型的无序集合
set元素最大可以包含(2的32次方-1)个元素
关于set集合类型除了基本的添加删除操作,其它有用的操作还包含集合的取并集(union),
交集(intersection),差集(difference)。通过这些操作可以很容易的实现类似好友推荐的
功能。

注意:每个集合中的各个元素不能重复。

(2)操作
sadd key number           添加一个string元素到key对应的set集合中,成功返回1,
                          如果元素已经在集合中返回0,key对应的set不存在返回错误。
srem key member [member]  从key对应set中移出给定元素,成功返回1
smove p1 p2 member        从p1对应set中移除member并添加p2对应set中
scard key                 返回set的元素个数
sismember key member      判断member是否在set中
sinter key1 key2...keyN   返回所有给定key的交集 
sunion key1 key2...keyN   返回所有给定key的并集 
sdiff key1 key2...keyN    返回所有给定key的差集 
smembers key              返回key对应set的所有元素,结果是无序的


(3)使用
我们模拟qq好友推荐的功能:
技术分享

首先我们添加tom的好友,创建tomFri的set集合类型数据,内部有五个元素
技术分享

然后创建linken的好友,创建linkenFri的set集合类型数据,内部有五个元素
技术分享

取两个set集合的交集,就可以得出两个用户的共同好友:
技术分享

取并集就是取得既有tom又有linken的好友,相同的数据会出现一次
技术分享

取差集,并不是是除了交集数据之外的所有数据,而是sdiff key1 key2中,
只取得key1集合中没有key2的所有数据。
技术分享

想查看set集合的所有内容,使用smembers指令
技术分享

判断一个元素是否在集合中,使用sismember指令
技术分享

将tom中的jack转移到linken的好友集合中,使用smove指令,查看set集合
目前的容量,使用scard指令
技术分享

将xiaoming从tom的好友集合中清除,使用srem指令
技术分享
转载请注明出处:http://blog.csdn.net/acmman/article/details/53289980























































以上是关于redis5--set的操作的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 协程Flow 操作符 ② ( 末端操作符 | collect 操作符 | reduce 操作符 | single 操作符 | first 操作符 | toList 操作符 )

Kotlin 协程Flow 操作符 ② ( 末端操作符 | collect 操作符 | reduce 操作符 | single 操作符 | first 操作符 | toList 操作符 )

Kotlin 协程Flow 操作符 ① ( 过渡操作符 | map 操作符 | transform 操作符 | 限长操作符 | take 操作符 )

Kotlin 协程Flow 操作符 ① ( 过渡操作符 | map 操作符 | transform 操作符 | 限长操作符 | take 操作符 )

RedisRedis 有序集合 Zset 操作 ( 简介 | 查询操作 | 增加操作 | 删除操作 | 修改操作 )

操作符