1.redis set的介绍

集合中的数据是不重复且没有顺序,集合类型和列表类型的对比。

集合类型:存储的是的是最多2的32次方减一个字符串,数据是没有顺序的,但是数据是唯一的

列表类型:最多存储内容最多2的32次方减一个字符串,数据是有序的,它的数据不是唯一的。

集合类型的常用操作是向集合中假如或者删除元素。判断某个元素是否存在等,由于集合类型的Redis内部是使用值为空的散转表实现,所有这些操作的时间复杂度都为o(1);

redis还提供了多个集合之间的交集、并集、差集的运算

2.命令:

(1)增加、删除元素

语法:SADD key member [member ……]

127.0.0.1:> sadd set a b c
(integer)
127.0.0.1:> sadd set a
(integer)

语法:SREM key member [member……]

127.0.0.1:> srem set c d
(integer)

(2)获得集合中的所有元素

语法:SMEMBERS key

smembers key
) "b"
) "a”

(3)判断元素是否在集合中

语法:sismember key member  存在值为1,不存在值为0

127.0.0.1:> sismember set a
(integer)
127.0.0.1:> sismember set h
(integer)

(4)运算命令

集合的差集运算A-B,属于A但是不属于B

语法:sdiff key [key……]

127.0.0.1:> sadd setA
(integer)
127.0.0.1:> sadd setB
(integer)
127.0.0.1:> sdiff setA setB
) ""
127.0.0.1:> sdiff setB setA
) ""

集合交集运算,属于A且属于B元素构成的集合

语法:sinter key key ……

127.0.0.1:> sinter setA setB
) ""
) ""

集合的并集运算,A和B一起组成的数据

sunion key key ……

127.0.0.1:> sunion setA setB
) ""
) ""
) ""
) ""

获取集合的元素个数

语法:scard key

127.0.0.1:6379> scard setA
(integer) 3

从集合中弹出一个元素,由于集合是无序的,所有spop命令会从集合中随机选择一个元素弹出

语法:spop key

127.0.0.1:> spop setA
"1“

127.0.0.1:6379> sadd set a b c

(integer) 3

127.0.0.1:6379> sadd set a

(integer) 0

Redis笔记---set的更多相关文章

  1. 【Redis笔记(四)】 Redis数据结构 - list链表

    原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...

  2. redis笔记之一

    NoSQL简介 全称是Not Only SQL,泛指菲关系型数据库,它是通过键值对存储数据并且将数据存储在内存中.而像mysql,sql server这些通过关系表存数据的就叫关系型数据库 为什么需要 ...

  3. Redis 笔记 01:入门篇

    Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...

  4. redis笔记总结之redis介绍

    一.Redis介绍: redis的发展历史简单的理解为因为使用类似MySql这类关系型数据库不方便进而开发的开源的.轻量级的.非关系型的,直到现在一直不断完善的一款NoSql数据库.具体的介绍大家可以 ...

  5. Redis笔记(1)数据结构与对象

    1.前言 此系列博客记录redis设计与实现一书的笔记,提取书本中的知识点,省略相关说明,方便查阅. 2.基本数据结构 2.1 简单动态字符串SDS(simple dynamic string) 结构 ...

  6. 2020ubuntu1804server编译安装redis笔记(一)及报make test错误解决办法

    redis的大名我想大家都不陌生,今天在ubuntu server上进行编译安装,虽然apt也可以安装,但作为内存数据库,redis又是c开发的,编译安装,对机器的适应和性能更好. 安装笔记如下 第1 ...

  7. 2020ubuntu1804server编译安装redis笔记(三)启动服务和使用redis

    第一篇笔记记录了ubuntu1804server编译安装redis5,接下来要配置redis5了 网址:https://www.cnblogs.com/qumogu/p/12435694.html 第 ...

  8. redis笔记补充

    redis补充 这篇文章是redis入门笔记的补充. 1.info命令 用来显示服务的信息. info命令可以跟下面的选项: server: 关于 Redis 服务器的一些信息 clients: 客户 ...

  9. redis笔记

    redis字符串 : 存储基本的一个键值对. redis哈希 : Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型. 一个哈希表可以存在多个键值对,可对键值进行增删 ...

  10. Redis笔记,安装和常用命令

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/96.html?1455870708 一.redis简单介绍 redis是N ...

随机推荐

  1. ElasticSearch 5.2.2 集群环境的搭建

    在之前 ElasticSearch 搭建好之后,我们通过 elasticsearch-header 插件在查看 ES 服务的时候,发现 cluster-health 显示的是 YELLOW. Why? ...

  2. django第三方库

    1. django_celery_beat 作用:网页端配置定时任务 注意:1,需要迁移表格 2.需要注册app python3 manage.py makemigrations python3 ma ...

  3. MySQL具体解释(13)------------事务

    一. 什么是事务 事务就是一段sql 语句的批处理.可是这个批处理是一个atom(原子) .不可切割,要么都运行,要么回滚(rollback)都不运行. 二.为什么出现这样的技术 为什么要使用事务这个 ...

  4. 相似group by的分组计数功能

    之前同事发过一个语句,实现的功能比較简单,相似group by的分组计数功能,由于where条件有like,又无法用group by来实现. SELECT a.N0,b.N1,c.N2,d.N3,e. ...

  5. 24.Node.js Stream(流)

    转自:http://www.runoob.com/nodejs/nodejs-stream.html Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请 ...

  6. 洛谷P3391 【模板】文艺平衡树(Splay)(FHQ Treap)

    题目背景 这是一道经典的Splay模板题——文艺平衡树. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1, ...

  7. 升级你的Linux日志系统

    650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" ...

  8. 记Bootstrap Table两种渲染方式

    这里主要区别两种Bootstrap Table的数据渲染方式,一.属性渲染方式,二.JS渲染方式 工作直接接手前人的,之前都直接在table标签上渲染属性,后面因为项目需要,同一页面的表格,需要申请不 ...

  9. Method of address space layout randomization for windows operating systems

    A system and method for address space layout randomization ("ASLR") for a Windows operatin ...

  10. OpenShift 自定义 OPENSHIFT_DOCUMENT_ROOT 变量,替换网站根目录路径!

    OpenShift 自定义 OPENSHIFT_DOCUMENT_ROOT 变量,替换网站根目录路径! 预先定义的子目录 :)     DIY: DocumentRoot=${OPENSHIFT_RE ...