redis中的Set基本命令及应用场景

Set为没有排序的字符串集合,无重复元素

Set

k为键   v为值

1.sadd k v1 v2 v3...

向指定key的Set集合添加 v1 v2 v3中与集合已有元素不同的元素

返回值为成功添加的个数

2.srem k v1 v2 v3

向删除 v1 v2 v3中与集合已有元素相同的元素

返回值为成功删除的个数

3.smembers k

显示指定key的Set集合中的所有元素

4.sismember k v

查询指定key的Set集合中是否含有值v,存在返回1,不存在返回0

5.sdiff k1 k2

key为k1的Set集合,与key为k2的Set集合的差集

相当于srem k1  v1 v2 v3...(v1,v2 , v3 ...为key为k2的Set集合的所有元素)

6.sinter k1 k2

求两集合交集

7.sunion k1 k2

求两集合并集

8.scard k 

显示指定key的Set集合中的元素数量

9.srandmember k

随机返回指定key的Set集合中的元

10.sdiffstore k1 k2 k3

将key为k2的Set集合,与key为k3的Set集合的差集存入key为k1的Set集合(将k1集合先清空,再存放值)

11.sinterstore k1 k2 k3

将key为k2的Set集合,与key为k3的Set集合的交集存入key为k1的Set集合(将k1集合先清空,再存放值)

12.sunionstore k1 k2 k3

将key为k2的Set集合,与key为k3的Set集合的并集存入key为k1的Set集合(将k1集合先清空,再存放值)

应用场景:跟踪一些具有唯一性的一些数据,比如访问某一博客的唯一ip地址的信息,我们仅需要在每次访问的时候,将ip存入redis中。利用服务器端聚合操作方便高效的特性,维护数据对象之间的关联关系。

猜你喜欢

转载自blog.csdn.net/qq_41175067/article/details/81609285