Redis中如何使用set类型

发布时间:2021-08-05 15:35:15 作者:Leah
来源:亿速云 阅读:119

本篇文章给大家分享的是有关Redis中如何使用set类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

set是string类型的无序集合。通过hash table实现。

sadd:向名称为key的set中添加元素,不能添加重复的元素。
127.0.0.1:6379> sadd myset hello
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 0
127.0.0.1:6379> smembers myset
1) "hello"
2) "world"

srem:删除名称为key的set中的元素。
127.0.0.1:6379> sadd myset2 one
(integer) 1
127.0.0.1:6379> sadd myset2 two
(integer) 1
127.0.0.1:6379> srem myset2 one
(integer) 1
127.0.0.1:6379> smembers myset2
1) "two"

spop:随机返回并删除名称为key的set中一个元素。
127.0.0.1:6379> sadd myset3 one
(integer) 1
127.0.0.1:6379> sadd myset3 two
(integer) 1
127.0.0.1:6379> spop myset3
"two"
127.0.0.1:6379> smembers myset3
1) "one"

sdiff:返回所有给定key与第一个key的差集
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sdiff myset2 myset3
1) "three"

sdiffstore:返回所有给定key与第一个key的差集,并将结果存为另一个key。
127.0.0.1:6379> sdiffstore myset4 myset2 myset3
(integer) 1
127.0.0.1:6379> smembers myset4
1) "three"

sinter:返回所有给定key的交集。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sinter myset2 myset3
1) "two"

sinterstore:返回所有给定key的交集,并将结果存为另一个key。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sinterstore myset6 myset2 myset3
(integer) 1
127.0.0.1:6379> smembers myset6
1) "two"

sunion:返回所有给定key的并集。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sunion myset2 myset3
1) "two"
2) "three"
3) "one"

sunionstore:返回所有给定key的并集,并将结果存为另一个key。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sunionstore myset6 myset2 myset3
(integer) 3
127.0.0.1:6379> smembers myset6
1) "two"
2) "three"
3) "one"

smove:从第一个key对应的set中移除member并添加到第二个对应的set中。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smove myset2 myset7 three
(integer) 1
127.0.0.1:6379> smembers myset2
1) "two"
127.0.0.1:6379> smembers myset7
1) "three"

scard:返回名称为key的set的元素个数。
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> scard myset3
(integer) 2

sismember:测试member是否是名称为key的set的元素
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sismember myset3 two
(integer) 1
127.0.0.1:6379> sismember myset3 three
(integer) 0

srandmember:随机返回名称为key的set的一个元素,但不删除元素。
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> srandmember myset3
"one"
127.0.0.1:6379> srandmember myset3
"two"

以上就是Redis中如何使用set类型,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. 07 redis数据类型:有序集合 sort set
  2. Redis数据类型操作(五) —— Sorted Set

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

redis set

上一篇:Redis中怎么使用hash类型

下一篇:如何解决某些HTML字符打不出来的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》