前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# CsRedis的初探(五)-- Redis常用命令整理(集合类型)

C# CsRedis的初探(五)-- Redis常用命令整理(集合类型)

作者头像
Vaccae
发布2019-07-24 13:19:39
1.2K0
发布2019-07-24 13:19:39
举报
文章被收录于专栏:微卡智享微卡智享

Redis常用命令整理集合类型

增加删除命令

sadd key member [ member .... ]

sadd 命令用来向集合中增加一个或多个元素,如果键不存在则会自动创建。因为在一个集合中不能有相同的元素,所以如果要加入的元素已经存在与集合中就会忽略这个元素。返回值是成功加入的元素数量(忽略的元素不计算在内)

srem key member [ member .... ]

srem 命令用来从集合中删除一个或多个元素,并返回删除成功的个数。


获得集合中的所有元素

smembers key

返回集合中的所有元素


判断元素是否在集合中

sismember key member

判断一个元素是否在集合中是一个时间复杂度为 0(1) 的操作,无论集合中有多少个元素, sismember 命令始终可以极快的返回结果。当值存在时 sismember 命令返回 1 ,当值不存在或者键不存在时返回 0


集合间运算

sdiff key [ key ...... ]

sdiff 命令用来对多个集合执行差集运算。集合 A 与集合 B 的差集表示为 A- B ,代表所有属于 A 且不属于 B 的元素构成的集合,即

A - B = { x| x∈A 且 x ∈/B }

命令使用方法:

sadd seta 1 2 3 4 6 7 8

sadd setb 2 3 4

sdiff seta setb

该命令支持同时传入多个键, 计算顺序是先计算 seta 和 setb 在计算结果与 setc 的差集

sadd setc 2 3 4

sdiff seta setb setc

sinter key [ key ..... ]

该命令用来对多个集合执行交集运算。集合 A 与集合 B 的交集表示为 A∩B,代表所有属于 A 且属于 B 的元素构成的集合

即 A∩B = { x| x∈A 且 x ∈B }

命令使用方法:

sinter seta setb

该命令同样支持同时传入多个键

sunion key [ key ...... ]

该命令用来对多个集合执行并集运算。集合 A 与集合 B的并集表示为 A∪B ,代表所有属于A或所有属于B的元素构成的集合

即 A∪B = { x| x∈A 或 x ∈B }

命令使用方法:

sunion seta setb

该命令同样支持同时传入多个键


获得集合中元素的个数

scard key

返回集合的基数。当 key 不存在时,返回 0 。


进行集合运算并将结果存储

sdiffstore destination key [ key ...... ]

sdiffstore 命令和 sdiff 命令功能一样,唯一的区别就是前者不会直接返回运算的结果,而是将结果存在 destination 键中

sinterstore destination key [ key ...... ]

sinterstore 这个命令类似于 sinter 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

sunionstore destination key [ key ...... ]

sunionstore 这个命令类似于 sunion 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。


随机获得集合中的元素

srandmember key [ count ]

该命令用来随机从集合中获取一个元素

还可以传递 count 参数来一次随机获得多个元素,根据 count 的正负不同,具体表现也不同

当count 为正数时,srandmember 会随机获取从集合里获得 count 个不重复的元素。如果 count 的值大于集合中的元素个数,则srandmember 会返回集合中的全部元素

当 count 为负数时,srandmember 会随机从集合中获得 |count| 个的元素,这些元素有可能相同

注:当传递count 参数时,在windows环境下提示命令参数错误


从集合中弹出一个元素

spop key

由于集合类型的元素是无序的,所以 spop 命令会从集合中随机选择一个元素弹出,返回值为被移除的随机元素,如果 key 不存在或者key 为空集时,返回 nil。


-END-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档