菜鸟教程:https://www.runoob.com/redis/redis-sets.html

简介

Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。

Redis的Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加,删除,查找的复杂度都是O(1)。

一个算法,随着数据的增加,执行时间的长短,如果是O(1),数据增加,查找数据的时间不变

常用命令

# 将一个或多个 member 元素加入到集合 key 中,已经存在的 member 元素将被忽略
sadd <key> <value1> <value2>  ..... # 取出该集合的所有值。
smembers <key># 判断集合<key>是否为含有该<value>值,有1,没有0
sismember <key> <value># 返回该集合的元素个数
scard <key># 删除集合中的某个元素。
srem <key> <value1> <value2> ....# 随机从该集合中吐出一个值。
spop <key># 随机从该集合中取出n个值。不会从集合中删除 。
srandmember <key> <n># 把集合中一个值从一个集合移动到另一个集合
smove <source> <destination> value# 返回两个集合的交集元素。
sinter <key1> <key2># 返回两个集合的并集元素。
sunion <key1> <key2># 返回两个集合的差集元素(key1中的,不包含key2中的)
sdiff <key1> <key2>

数据结构

Set数据结构是dict字典,字典是用哈希表实现的。

Java中HashSet的内部实现使用的是HashMap,只不过所有的value都指向同一个对象。Redis的set结构也是一样,它的内部也使用hash结构,所有的value都指向同一个内部值。

redis数据类型-set集合相关推荐

  1. redis 数据类型之有序集合(sorted set) 详细介绍

    Redis的有序集合(sorted set)同时具有"有序"和"集合"两种性质,这种数据结构中的每个元素都由一个成员和一个与成员相关联的分值组成,其中成员以字符 ...

  2. redis教程(五)之redis数据类型

    为什么80%的码农都做不了架构师?>>>    Redis支持5种数据类型. 字符串 Redis中的字符串是一个字节序列.Redis中的字符串是二进制安全的,这意味着它们的长度不由任 ...

  3. Redis 数据类型之(底层解析)

    Redis 数据类型之(底层解析) Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redi ...

  4. Redis 数据类型介绍

    Redis 数据类型介绍 你也许已经知道Redis并不是简单的key-value存储,实际上他是一个数据结构服务器,支持不同类型的值.也就是说,你不必仅仅把字符串当作键所指向的值.下列这些数据类型都可 ...

  5. redis设置密码和启动 redis数据类型

    Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径.Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象. Redis运行在内存中 ...

  6. 【Redis学习】Redis数据类型及存储结构

    最近再进行redis相关的学习,在网上查阅资料,总结如下: Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sortedset:有序集 ...

  7. 【Redis】杂项基础知识;Redis数据类型

    基础知识 Redis是一个内存数据库, 所有数据基本上都存在于内存当中, 会定时以追加或者快照的方式刷新到硬盘中. 由于redis是一个内存数据库, 所以读取写入的速度是非常快的, 所以经常被用来做数 ...

  8. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

  9. redis数据类型list总结

    前言 在上一篇,我们简单介绍了redis数据类型中的String和hash两种常用数据类型的使用,本篇继续探讨redis数据结构中的另一种,list 列表 list简介 Redis列表是简单的字符串列 ...

  10. Redis 学习---(4)Redis 数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

最新文章

  1. R语言dplyr包coalesce函数处理缺失值(missing value)实战
  2. python-文件基本操作(二)
  3. PS制作高光导航背景
  4. python:字典的操作
  5. Moo.fx 超级轻量级的 javascript 特效库
  6. xtrabackup备份脚本
  7. multiprocess模块使用进程池调用apply_async()提交的函数及回调函数不执行问题
  8. 多租户saas 架构_实战复盘:toB产品的多租户架构设计
  9. ios 按钮图片拉伸_#UIButton#背景图片的拉伸
  10. Kali渗透测试工具库(二)beef--Web浏览器攻击框架
  11. 追风猎洞只能喝西北风吗?
  12. python opencv 利用 GrabCut 算法(opencv已经实现)从图像中分离出前景
  13. MySQL基础实战篇
  14. 10. 在constructors内阻止资源泄露
  15. pythonflask接口开发处理多线程请求_flask是如何处理多个访问请求的?
  16. html5视频播放解决方案
  17. 数据分析的常用工具有哪些
  18. Redis中什么是热Key问题?如何解决热Key问题?
  19. windows功能_四款功能强大的windows软件,个个都是精品!
  20. 对于“你需要Administrator权限才能删除该文件”情况的处理办法

热门文章

  1. Apache Drill
  2. poj Ancient Cipher 古代密码
  3. Linux命令大全:grep命令
  4. 一些著名的大公司面试题目-java
  5. 12.软件架构设计:大型网站技术架构与业务架构融合之道 --- CAP理论
  6. 11.软件架构设计:大型网站技术架构与业务架构融合之道 --- 多副本一致性
  7. 49.邮件模板的传值与调用
  8. 数据结构与算法学习网
  9. LoadRunner监控SQLServer
  10. 第二篇:ssh.invoke_shell() 切换root出现的新问题