Redis命令——集合(Set)[通俗易懂]

Redis命令——集合(Set)[通俗易懂]Redis命令——集合(Set)

大家好,又见面了,我是你们的朋友全栈君。

Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

集合中最大的成员数为 232 – 1 (4294967295, 每个集合可存储40多亿个成员)。

实例

redis 127.0.0.1:6379> SADD mykey redis
(integer) 1
redis 127.0.0.1:6379> SADD mykey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD mykey mysql
(integer) 1
redis 127.0.0.1:6379> SADD mykey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS mykey 
 
1) "mysql"
2) "mongodb"
3) "redis"

在以上实例中我们通过 SADD 命令向名为 mykey 的集合插入的三个元素。

Redis 集合命令

下表列出了 Redis 集合基本命令:

序号

命令及描述

1

SADD key member1 [member2] 向集合添加一个或多个成员

2

SCARD key 获取集合的成员数

3

SDIFF key1 [key2] 返回给定所有集合的差集

4

SDIFFSTORE destination key1 [key2] 返回给定所有集合的差集并存储在 destination 中

5

SINTER key1 [key2] 返回给定所有集合的交集

6

SINTERSTORE destination key1 [key2] 返回给定所有集合的交集并存储在 destination 中

7

SISMEMBER key member 判断 member 元素是否是集合 key 的成员

8

SMEMBERS key 返回集合中的所有成员

9

SMOVE source destination member 将 member 元素从 source 集合移动到 destination 集合

10

SPOP key 移除并返回集合中的一个随机元素

11

SRANDMEMBER key [count] 返回集合中一个或多个随机数

12

SREM key member1 [member2] 移除集合中一个或多个成员

13

SUNION key1 [key2] 返回所有给定集合的并集

14

SUNIONSTORE destination key1 [key2] 所有给定集合的并集存储在 destination 集合中

 

参考:

https://redis.io/commands

http://www.runoob.com/redis/redis-sets.html

http://www.redis.net.cn/tutorial/3511.html

https://www.yiibai.com/redis/redis_sets.html

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107202.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网络工程师

    网络工程师

    2021年7月24日
    64
  • 关于allow_url_fopen的设置与服务器的安全–不理解

    关于allow_url_fopen的设置与服务器的安全–不理解allow_url_fopen与安全以及PHPlibcurl  allow_url_fopen=ON常常会给服务器和管理员带来麻烦,但是经常性(至少我这样认为)的我们需要远程读取某个东西,如果设置allow_url_fopen=OFF将其关闭,我们就没有办法远程读取。  幸好我们有一个很好的PHP模块–curl。下面我就以一个例子说说我用curl远程读取的方法:  第一,a

    2022年7月21日
    11
  • 利用泛型抽取Dao层,加事务注解问题(java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)

    利用泛型抽取Dao层,加事务注解问题(java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)

    2022年1月20日
    51
  • 内部类(成员内部类、静态内部类、方法内部类)

    内部类(成员内部类、静态内部类、方法内部类)一:成员内部类:最常见的内部类就是成员内部类,也称作普通内部类;1、Inner类定义在Outer类的内部,相当于Outer类的成员变量的位置,Inner类可以使用任意访问修饰符,如:public、private、protected等。2、Inner类中定义的test()方法可以访问Outer类中的数据,不受访问控制符的影响。3、定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去……

    2022年10月11日
    1
  • TranslateMessage ,GetMessage, DispatchMessage分析

    TranslateMessage ,GetMessage, DispatchMessage分析TranslateMessage(&msg);TranslateMessage是用来把快捷键消息转换为字符消息,并将转换后的新消息投递到调用线程的消息队列中。由于Windows对所有键盘编码都是采用虚拟键的定义,这样当按键按下时,并不得字符消息,需要键盘映射转换为字符的消息。字符消息被投递到调用线程的消息队列中,当下一次调用GetMessage函数时被取出。LONGDispatchMessage(CONSTMSG*lpmsg);函数功能:该函数分发一个消息给窗口程序,即把消息推送

    2025年11月7日
    6
  • navicat15 mac 激活码【2021.7最新】

    (navicat15 mac 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSWQi…

    2022年3月21日
    215

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号