首页 > 数据库 >六、redis之set

六、redis之set

时间:2024-10-03 10:34:08浏览次数:5  
标签:... set 成员 destination redis key 集合

Redis集合是成员的无序集合。可以用来保存唯一的成员。

注意:对于以下的命令,涉及删除成员的,如果集合中的所有元素都被移除,则集合会被删除。如果集合原先不存在,被当作空集合。

SADD

SADD key member [member ...]

sadd命令将一系列成员添加到set中。

SMEMBERS

SMEMBERS key

smembers列出set中的所有成员。如果set成员很多,会阻塞redis服务,所以在生产环境慎用。

SISMEMBER

SISMEMBER key member

sismember判断成员是否属于set集合。

SMISMEMBER

SMISMEMBER key member [member ...]

smismember判断多个成员是否属于set集合。

SCARD

SCARD key

scard返回集合中的成员数量。

SMOVE

SMOVE source destination member

SMOVE将成员从slource集合移除,并添加到destination集合。

SPOP

SPOP key [count]

spop随机从set中移除并返回count个成员。

SRANDMEMBER

SRANDMEMBER key [count]

srandmember从set中随机返回count个成员。

SREM

SREM key member [member ...]

srem从set中移除指定的多个成员。

SSCAN

SSCAN key cursor [MATCH pattern] [COUNT count]

SSCAN和hscan的用法类似,区别的是返回的数据类型不同。

在高中时,数学的第一章就是集合。那么redis中的集合有没有数学中的集合涉及的运算呢?有的。最后看下集合的运算。

交集

数学中的交集就是两个集合共同的成员组成的集合。

SINTER key [key ...]

sinter返回多个集合的交集。

SINTERSTORE destination key [key ...]

SINTERSTORE将多个集合的交集保存到destination集合中。

SINTERCARD numkeys key [key ...] [LIMIT limit]

SINTERCARD返回多个交集中成员数量。limit限制交集的成员数,对于大集合可以快速返回。

差集

数学中的差集就是一个集合移除另一集合中的成员后剩余的成员组成的新集合。

SDIFF key [key ...]
SDIFFSTORE destination key [key ...]

SDIFF set1 set2的结果是set1中的成员移除set2中的所有成员后剩余的成员组成的新集合。SDIFFSTORE将差集的结果保存到destination集合中。

并集

并集就是将多个集合的所有成员组成新的集合。

SUNION key [key ...]
SUNIONSTORE destination key [key ...]

SUNION会将集合的结果返回,SUNIONSTORE会将集合的结果保存到destination集合。

可以看到如果destination集合原先存在数据,SUNIONSTORE会覆盖原先的数据。SDIFFSTORE,SINTERSTORE命令也一样

标签:...,set,成员,destination,redis,key,集合
From: https://www.cnblogs.com/shigongp/p/18445400

相关文章

  • Redis 发布订阅模式
    概述Redis的发布/订阅是一种消息通信模式:发送者(Pub)向频道(Channel)发送消息,订阅者(Sub)接收频道上的消息。Redis客户端可以订阅任意数量的频道,发送者也可以向任意频道发送数据。在发送者向频道发送一条消息后,这条消息就会被发送到订阅该频道的客户端(Sub)Redis有两种发布/订阅模式......
  • Redis: Sentinel工作原理和故障迁移流程
    Sentinel哨兵几个核心概念1)定时任务Sentinel它是如何工作的,是如何感知到其他的Sentinel节点以及Master/Slave节点的就是通过它的一系列定时任务来做到的,它内部有三个定时任务第一个就是每一秒每个Sentinel对其他Sentinel和Redis节点执行PING操作(监......
  • 五、redis之hash
    redis的hash类型就是平时说的hash表,字典。类似于Java中的HashMap。可以用来存储对象等结构。现在看下操纵hash类型的命令。HGETHGETkeyfieldhget获取hash中的field字段的值。HSETHSETkeyfieldvalue[fieldvalue...]hset命令将多个fieldvalue键值对设置到key中。......
  • 解决 DedeCMS 报错“Please set ‘request_order’”的问题
    如果你使用的是虚拟主机,无法直接修改 php.ini 文件,可以通过修改DedeCMS的代码来解决这个问题。找到 common.inc.php 文件:打开织梦CMS安装目录下的 include/common.inc.php 文件。修改代码:使用文本编辑器打开 common.inc.php 文件。找到第34行:php ......
  • 织梦错误Please set ‘request_order’
    当你在使用DedeCMS并遇到错误提示“DedeCMSError:(PHP5.3andabove)Pleaseset‘request_order’inivaluetoincludeC,GandP(recommended:‘CGP’)inphp.ini,more…”时,可以通过以下两种方法来解决这个问题:方法1:修改 php.ini 文件找到 php.ini 文件:......
  • 【VBA】RangeやCellsの範囲を移動する【Offsetを使います】
    参考元:【VBA】RangeやCellsの範囲を移動する【Offsetを使います】https://daitaideit.com/vba-range-offset/ポイントとなるVBAコードCells(1,1).Offset(2,3).Select'Cellsを2行と3列だけ移動するRange("A1").Offset(2,3).Select'Rangeをを2行と3列だけ移動するVBA......
  • mybatis xml里的 resultMap、resultOrdered、resultSets、resultSetType、resultType
    在MyBatis中,映射结果集是一项重要的功能,用于将数据库查询结果映射到Java对象中。为了实现这一功能,MyBatis提供了多个配置选项,如resultMap、resultOrdered、resultSets、resultSetType和resultType。以下是这些配置选项的详细解释及示例:1.resultTyperesultType是最简单的结......
  • 一种使用setdll+HOOK钩子技术+dll为MFC程序ProtocalTool等老旧程序打补丁的思路(含源
    一、引言由于工作原因,需要使用一个很老旧的软件,没有源代码,该软件在XP系统下运行正常,但是需要登录,且在win10系统下使用时IP控件运行不正常,只能输入每个数字只能输入2位数,还有一些其他问题,比如给软件添加一些编辑框,或者对软件进行下面简单梳理一下解决这些问题的思路。二、......
  • 力扣(leetcode)每日一题 1845 座位预约管理系统| treeSet和priority Queue的区别|线段树
    之前发过一篇,感觉还有深挖的地方,于是又补充一些信息这题目虽然是middle难度题目,要解答出来是只要easy的时间,但是深挖可以有hard的难度题解1可以帮助复习线段树的使用,题解2可以复习一下java基础知识题解1线段树这是自己憋出来的线段树classSeatManager{......
  • 【C++】set详解
    ......