1.set 集合 特点:无序,元素不可重复
2 .常用命令 命令以 s 开头
my-redis:0>sadd myset word ################ sadd key 元素 添加元素 不可重复添加 1 my-redis:0>smembers myset ################# smembers key 查看集合的元素 hello word my-redis:0>sismember myset hello ############## sismember key 元素 查看某个元素是否在集合里面 存在返回1 不存在返回0 1 my-redis:0>sismember myset test 0 my-redis:0>scard myset ########################## scard key 查看集合的个数 2 my-redis:0>srem myset hello ################ srem key 元素 移除集合的指定元素 1 my-redis:0>scard myset 1 my-redis:0>smembers myset word my-redis:0>sadd myset test 1 my-redis:0>sadd myset test2 1 my-redis:0>sadd myset test2 0 my-redis:0>srandmember myset ################ srandmember key 随机输出集合的一个元素 test my-redis:0>srandmember myset word my-redis:0>srandmember myset word my-redis:0>srandmember myset 2 ################## srandmember key 个数 随机输出集合的几个元素 test test2 my-redis:0>spop myset ############### spop key 随机删除集合的元素 test2 my-redis:0>spop myset word my-redis:0>scard myset 1 my-redis:0>flushdb OK my-redis:0>sadd set hello 1 my-redis:0>smembers set1 word my-redis:0>sadd set1 hello 1 my-redis:0>smembers set1 hello word my-redis:0>smembers set2 test my-redis:0>smove set1 set2 hello ################### smove 原来的key 目标key 元素 将指定的一个值从某个集合移动到另一个集合 1 my-redis:0>smembers set1 word my-redis:0>smembers set2 hello test my-redis:0>flushdb OK my-redis:0>sadd key1 a 1 my-redis:0>sadd key1 b 1 my-redis:0>sadd key1 c 1 my-redis:0>sadd key2 c 1 my-redis:0>sadd key2 d 1 my-redis:0>sadd key2 e 1 my-redis:0>sdiff key1 key2 ############# sdiff key key2 比较集合与另一个集合的不同元素 差集 b a my-redis:0>sinter key1 key2 ################# sinter key key2 获取两个集合 的 交集 c my-redis:0>sunion key1 key2 ################ sunion key key2 获取两个集合 的 并集 a d c b e
3. 交集、差集、并集的应用场景例如:
微博,A用户将所有关注的人放在一个set集合中!将它的粉丝也放在一个集合中! 共同关注,共同爱好,二度好友,推荐好友!(六度分割理论)