set 是无序集合,最大可以包含(2 的 32 次方-1)个元素。set 的是通过 hash table 实现的, 所以添加,删除,查找的复杂度都是 O(1)

sadd key member 添加一个 string 元素到 key 对应 set 集合中,成功返回 1,如果元素以及 在集合中则返回 0,key 对应的 set 不存在则返回错误

继续添加,返回0表示添加失败,说明set集合,不允许添加重复元素

smembers smembers smembers key 返回 key 对应 set 的所有元素,结果是无序的

sinter key1 key2 …… keyN 返回所有给定 key 的交集

sinterstore dstkey key1 ....... keyN 返回所有给定 key 的交集,并保存交集存到 dstkey 下

sunion key1 key2 ...... keyN 返回所有给定 key 的并集

sunionstore dstkey key1 ...... keyN 返回所有给定 key 的并集,并保存并集到 dstkey 下

sdiff key1 key2 ...... keyN 返回所有给定 key 的差集

sdiffstore sdiffstore sdiffstore dstkey key1 ...... keyN 返回所有给定 key 的差集,并保存差集到 dstkey 下

smove srckey dstkey member 从 srckey对应 set 中移除 member并添加到 dstkey 对应 set 中, 整个操作是原子的

scard key 返回 set 的元素个数,如果 set 是空或者 key 不存在返回 0

sismember key member 判断 member 是否在 set 中,存在返回 1,0 表示不存在或者 key 不 存在

srem key member 从 key 对应 set 中移除指定元素

spop key 删除并返回 key 对应 set 中随机的一个元素

srandmember key 同 spop,随机取 set 中的一个元素,但是不删除元素

Redis学习-set数据结构的更多相关文章

  1. Redis学习笔记一:数据结构与对象

    1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...

  2. Redis学习——数据结构介绍(四)

    一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...

  3. Redis学习系列六ZSet(有序列表)及Redis数据结构的过期

    一.简介 ZSet可以说是Redis中最有趣的数据结构了,因为他兼具了Hash集合和Set的双重特性,也是用的最多的,保证了value值的唯一性的同时,,同时又保证了高性能,最主要的是还可以给每个Va ...

  4. Redis学习笔记(一):基础数据结构

    一. 引言 <Redis设计与实现>一书主要分为四个部分,其中第一个部分主要讲的是Redis的底层数据结构与对象的相关知识. Redis是一种基于C语言编写的非关系型数据库,它的五种基本对 ...

  5. Redis学习——数据结构上

    一.常用的全局命令 1.查看所有的键: KEYS * KEYS pattern:查找所有符合给定模式 pattern 的 key . KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能 ...

  6. Redis学习笔记~目录

    回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...

  7. 分布式缓存技术redis学习系列(五)——redis实战(redis与spring整合,分布式锁实现)

    本文是redis学习系列的第五篇,点击下面链接可回看系列文章 <redis简介以及linux上的安装> <详细讲解redis数据结构(内存模型)以及常用命令> <redi ...

  8. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  9. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

随机推荐

  1. ubuntu开机后弹出System program problem detected的解决办法

    sudo gedit /etc/default/apport 将enabled=1改为enabled=0保存退出重启后就可以了

  2. VS2017 配置glfw3

    直接下载源码使用VS进行编译. 1. 源码下载地址http://www.glfw.org/download.html, 点击Source Package 2. 打开cmake-3.12.1-win32 ...

  3. 【netcore基础】ConcurrentDictionary 使用字符串作为key给代码加锁且使用EF事物防止并发调用数据混乱的问题

    业务场景需要锁住指定的字符串下的代码,防止并发创建多个订单 这里我们使用 ConcurrentDictionary 首先初始化一个字典 private static readonly Concurre ...

  4. Python——rrdtool模块的安装

    一.Centos环境yum命令安装 yum install rrdtool rrdtool-devel 二.源码安装 wget https://pypi.python.org/packages/99/ ...

  5. 第六天 py 加法练习

    其实就是while的用法!   该看第65 啦

  6. Nestjs 设置静态文件,public

    Docs: https://docs.nestjs.com/techniques/mvc main.js import { NestFactory } from '@nestjs/core'; imp ...

  7. 非常实用的使用eclipse的快捷键和技巧

    解决代码的自动提示问题: 1.打开 Eclipse -> Window -> Perferences 2.找到Java 下的 Editor 下的 Content Assist , 右边出现 ...

  8. MOT北京站 | 卓越研发之路:亿万级云端架构演进

    随着IT行业技术周期的快速迭代,如何在激烈的市场竞争中突出重围成为了不少技术人的困惑.除了要保持良好的技术视野外,多向IT行业精英学习他们分享的实战经验,也可让技术提升,达到事半功倍的效果. MOT北 ...

  9. Laravel开发采坑系列问题

    2017年12月22日17:40:03 不定时更新 版本5.4.X 一下是可能会遇到的坑 1,必须的写路由转发才能访问控制器,当然你可以自动路由访问,但是需要些匹配规则,其实还是转发了 好多人讨论过自 ...

  10. AE实现拖拽

    http://edndoc.esri.com/arcobjects/9.2/net/63391c82-c2e6-4797-b2e6-2c1d92f56f44.htm http://help.arcgi ...