首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Redis(5)——set

Redis(5)——set

作者头像
羊羽shine
发布2019-05-29 18:35:23
发布2019-05-29 18:35:23
5070
举报
文章被收录于专栏:Golang开发Golang开发

集合set类型的保存多个字符串元素,集合不允许存在重复元素,并且集合的元素是无序的,不能通过索引下标获取元素

sadd

sadd key element [element ...] 向集合添加元素集合不能存在重复元素

代码语言:javascript
复制
127.0.0.1:6379> sadd setkey a b c
(integer) 3
127.0.0.1:6379> sadd setkey a b c
(integer) 0
srem

srem key element [element ...] 删除元素

代码语言:javascript
复制
127.0.0.1:6379> srem setkey c
(integer) 1
smembers

``smembers key `获取所有集合元素,返回的结果是无序的

代码语言:javascript
复制
127.0.0.1:6379> smembers setkey
1) "b"
2) "a"
scard

获取集合元素个数

代码语言:javascript
复制
127.0.0.1:6379> scard setkey
(integer) 2
sismember

sismember key member给定的元素是否在集合内,存在返回1 ,不存在返回0.

代码语言:javascript
复制
127.0.0.1:6379> sismember setkey a
(integer) 1
srandmember

srandmember key [count ] 随机从集合返回指定个数元素,默认返回1个

代码语言:javascript
复制
127.0.0.1:6379> sadd setkey c d e f
(integer) 4
127.0.0.1:6379> srandmember setkey 2
1) "a"
2) "f"
127.0.0.1:6379> srandmember setkey
"b"
spop

随机弹出集合元素

代码语言:javascript
复制
127.0.0.1:6379> spop setkey
"b"
sinter

集合的交集

代码语言:javascript
复制
127.0.0.1:6379> sadd user_1 it mus his spo
(integer) 4
127.0.0.1:6379> sadd user_2 news ent spo it
(integer) 4
127.0.0.1:6379> sinter user_1 user_2
1) "spo"
2) "it"
sinterstore

sinterstore destinationkey key [key ...] 将交集保存在destinationkey

代码语言:javascript
复制
127.0.0.1:6379> sinterstore user_inter1_2 user_1 user_2
(integer) 2
127.0.0.1:6379> smembers user_inter1_2
1) "spo"
2) "it"
sunion

集合的并集

代码语言:javascript
复制
127.0.0.1:6379> sunion user_1 user_2
1) "mus"
2) "spo"
3) "his"
4) "news"
5) "it"
6) "ent"
sunionstore

将并集的结果保存新的集合中

代码语言:javascript
复制
127.0.0.1:6379> sunionstore user_union1_2 user_1 user_2
(integer) 6
127.0.0.1:6379> smembers user_union1_2
1) "mus"
2) "spo"
3) "his"
4) "news"
5) "it"
6) "ent"
sdiff

集合的差集

代码语言:javascript
复制
127.0.0.1:6379> sdiff user_1 user_2
1) "his"
2) "mus"
sdiffstore
代码语言:javascript
复制
127.0.0.1:6379> sdiffstore user_diff1_2 user_1 user_2
(integer) 2
127.0.0.1:6379> smembers user_diff1_2
1) "his"
2) "mus"
内部编码

集合类型的内部编码有2种: intset 整数集合:当集合类型元素都是整数且个数小于list-max-intlist-entries配置(默认512个),redis会使用intlist作为列表的内部实现,减少内存的使用。 hashtable哈希表当集合类型无法满足intset的条件是,redis会使用hashtable作为列表的内部实现。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • sadd
  • srem
  • smembers
    • scard
  • sismember
  • srandmember
    • spop
  • sinter
  • sinterstore
  • sunion
  • sunionstore
  • sdiff
  • sdiffstore
  • 内部编码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档