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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 排查IOException Broken pipe 错误,偶遇国外小哥

    大家好,我是阿飞云怕什么真理无穷,进一步有近一步的欢喜今天我们聊一个异常:java.io.IOException: Broken pipe,为什么会报这个异常,这个异常要怎么解决?以及最后…

    2022年3月1日
    324
  • Android源码学习「建议收藏」

    Android源码学习「建议收藏」作为一名程序员,肯定不仅仅限于使用API文档,因为浮于表面是远远不够的。进阶学习的阶段,需要我们保持一颗好奇的心,深入阅读Android源码,学习优秀的代码风格和设计思想,知其然并且知其所以然。引用Google的一张框架图:Applications层,和用户直接交互的就是这些应用程序,它们都是用Java开发的。 JavaFramework层,这一层大部分用Java语言编写。它是An…

    2022年6月6日
    29
  • nginx负载均衡算法8种_权重负载均衡算法实现

    nginx负载均衡算法8种_权重负载均衡算法实现Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达50,000个并发连接数的响应,感谢Nginx为我们选择了epollandkqueue作为开发模型。下面是五种负载均衡算法:roundrobin(默认) weight IP_hash url_hash(第三方) fair(第三方)1.roundr…

    2022年10月12日
    15
  • 浏览器编译代码_ie浏览器html编辑器

    浏览器编译代码_ie浏览器html编辑器20个最强的基于浏览器的在线代码编辑器1.CompilrCompilr是一个在线编译器和在线IDE。可以用它来开发PHP,C,C++,Ruby。在浏览器中编译Java,C#和VB.net等。马上使用2.Dabblet跨浏览器兼容,对前端攻城师们来说是一个不得不处理的问题。为了在浏览器间呈现统一的显示效果,攻城师们不仅要为每个游览器添加CSS前缀,甚至还…

    2022年8月14日
    4
  • oracle删除索引语句_oracle索引

    oracle删除索引语句_oracle索引环境Oracle11gsqldropindex索引名;

    2025年9月12日
    8
  • 软件测试所需要掌握的技术和知识_软件测试主要学的内容有哪些

    软件测试所需要掌握的技术和知识_软件测试主要学的内容有哪些分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netDefinitionAttachadditionalresponsibilitiestoanobjectdynamically.Decoratorsprovideaflexiblealternativetosubcla…

    2022年10月6日
    6

发表回复

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

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