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

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-

长按下方二维码关注微卡智享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vaccae

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值