[Redis Chapter 7] Set

Set类型是一个没有排序的集合,可以在该类型那个执行添加、删除或判断某一元素是否存在等操作。由于Redis的内部是使用值为空的hash table实现的,所以操作的时间复杂度为O(1), 最多存储2^32-1个字符串。

Set集合中不允许出现重复的元素,和List类型相比,Set类型在功能上另一个优势是可以进行并集,交集,差集运算。

sadd

129.223.248.154:6379> sadd students tim
(integer) 1
129.223.248.154:6379> sadd students tim ben
(integer) 1

srem

129.223.248.154:6379> srem student tim
(integer) 0
129.223.248.154:6379> srem students tim
(integer) 1

smembers、sismember

129.223.248.154:6379> smembers students
1) "ben"
129.223.248.154:6379> sismember students ben
(integer) 1
129.223.248.154:6379> sismember students tim
(integer) 0

sdiff 差集

129.223.248.154:6379> sadd setDiffA 1 2 3
(integer) 3
129.223.248.154:6379> sadd setDiffB 2 3 4
(integer) 3
129.223.248.154:6379> sdiff setDiffA setDiffB
1) "1"

sinter 交集

129.223.248.154:6379> sadd setInterA 1 2 3
(integer) 3
129.223.248.154:6379> sadd setInterB 2 3 4
(integer) 3
129.223.248.154:6379> sinter setInterA setInterB
1) "2"
2) "3"

sunion 并集

129.223.248.154:6379> sadd setUnionA 1 2 3
(integer) 3
129.223.248.154:6379> sadd setUnionB 2 4 6
(integer) 3
129.223.248.154:6379> sunion setUnionA setUnionB
1) "1"
2) "2"
3) "3"
4) "4"
5) "6"

scard 集合总数

129.223.248.154:6379> scard students
(integer) 1
129.223.248.154:6379> smembers students
1) "ben"
129.223.248.154:6379> srandmember students
"ben"
129.223.248.154:6379> sadd students mike
(integer) 1
129.223.248.154:6379> srandmember students
"ben"
129.223.248.154:6379> srandmember students
"mike"
129.223.248.154:6379> srandmember students
"mike"
129.223.248.154:6379> sadd memebrs a b c
(integer) 3
129.223.248.154:6379> srandmember students 2
1) "ben"
2) "mike"

srandmember

129.223.248.154:6379> sadd letters a b c
(integer) 3
129.223.248.154:6379> srandmember letters 2
1) "b"
2) "c"

spop

129.223.248.154:6379> spop letters
"b"
129.223.248.154:6379> smembers letters
1) "a"
2) "c"
129.223.248.154:6379>

时间: 2024-12-17 14:27:58

[Redis Chapter 7] Set的相关文章

[Redis Chapter 5] 远程访问 Redis 基于 C#/Python

本次Redis安装在Ubuntu Linux 虚拟机,基于VMPlayer. 1. 设置VM采用VMnet1 2. 查看本机IP 3. 修改redis server的redis.conf使其支持外部IP 4. 启动Redis带有conf 5. Python远程访问Redis server RedisClient : [email protected]:~/redis-2.8.12/src$ redis-cli -h 192.168.162.128 -p 6379

[Redis Chapter 6] List

list是一个内部采用双向链表(double linked list) 结构,像列表两端添加元素的时间复杂度为O(1).主要功能是push.pop.获取一个范围的所有值等,操作中key理解为链表的名字. 链表的最大长度是(2的32次方).我们可以通过push,pop操作从链表的头部或者尾部添加删除元素.这使得list既可以用作栈,也可以用作队列. list的pop操作均有阻塞版本的,当我们[lr]pop一个list对象时,如果list是空,或者不存在,会立即返回nil.但是阻塞版本的b[lr]p

[Chapter 0] Redis 介绍与应用场景

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨.NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入. NoSQL的特点: 处理差大量的数据 运行在廉价的PC服务器集群 解决性能瓶颈 NOSQL应用场景: 对数据高并发读写 对海量数据的高效率存储和访问 对数据的高可扩展性和高可用性 Redis is an open

[Chapter 3] Strings (Redis)

[email protected]:~$ cd redis-2.8.12 [email protected]:~/redis-2.8.12$ cd src [email protected]:~/redis-2.8.12/src$ redis-cli Set redis 127.0.0.1:6379> get name "lijie" redis 127.0.0.1:6379> set name michael OK Get redis 127.0.0.1:6379>

Redis Essentials 读书笔记 - 第一章: Getting Started (The Baby Steps)

Chapter 1. Getting Started (The Baby Steps) Redis是在内存中运行的NoSQL key-value数据库. Redis的优势除了内存的高性能外,还有其支持丰富的数据类型,如Strings, Hashes, Lists, Sets, Sorted Sets, Bitmaps, 和 HyperLogLogs. Redis同时支持持久化,使用的技术为snapshotting 和 journaling. Redis表示REmote DIctionary Se

Redis Essentials 读书笔记 - 第八章: Scaling Redis (Beyond a Single Instance)

Chapter 8. Scaling Redis (Beyond a Single Instance) 精彩的总在最后,终于来到这一章了! 本章讲述通过多实例来进行水平扩展,重要的概念有:persistence, replication, partitioning. Persistence 内存是临时的, 易失性存储, 为防止数据丢失, Redis提供了两种persistence的方法:Redis Database (RDB) 和 Append-only File (AOF),两种方法可以单独使

Redis Essentials 读书笔记 - 第九章: Redis Cluster and Redis Sentinel (Collective Intelligence)

Chapter 9. Redis Cluster and Redis Sentinel (Collective Intelligence) 上一章介绍了复制,一个master可以对应一个或多个slave(replica), 在以下的情况下是够用的: 1. master有足够内存容纳所有key 2. 通过slave可以扩展读,解决网络吞吐量的问题 3. 允许停止master的维护窗口时间 4. 通过slave做数据冗余 但复制解决不了自动failover和自动resharding的问题,在以下的情

Redis+keepalived实现双机热备

一. 简介 安装使用centos 5.6(64) Master 192.168.2.235 Slave 192.168.2.236 Vip 192.168.2.200 编译环境 yum -y install gcc gcc+ gcc-c++ openssl openssl-devel pcre pcre-devel 当 Master 与 Slave 均运作正常时, Master负责服务,Slave负责Standby: 当 Master 挂掉,Slave 正常时, Slave接管服务,同时关闭主从

Python操作数据库(mysql redis)

一.python操作mysql数据库: 数据库信息:(例如211.149.218.16   szz  123456) 操作mysql用pymysql模块 #操作其他数据库,就安装相应的模块 import  pymysql ip='211.149.218.16' port=3306 passwd='123456' user='root' db='szz' conn=pymysql.connect(host=ip,user=user,port=port,passwd=passwd,db=db,cha