Redis五种数据类型之 SETS类型
SETS集合 是string类型的无序集合,通过hashtable实现,CRD操作复杂度为0(1),可取并交差集。
下面切入正题咯:
常用命令总结(自用总结 不喜勿喷):
1.sadd方法
向名称为key的set中添加元素,添加相同元素时不成功喔,集合中不允许有重复的值
eg:
127.0.0.1:6379> sadd testset "harbor"
(integer) 1
127.0.0.1:6379> sadd testset "harborChung"
(integer) 1
127.0.0.1:6379> sadd testset "harborchung"
(integer) 1
127.0.0.1:6379> sadd testset "Chung"
(integer) 1
127.0.0.1:6379> sadd testset "chung"
(integer) 1
2.semembers方法
查看指定集合的元素
eg:
127.0.0.1:6379> sadd testset "chung"
(integer) 0
3.srem方法
删除名称为key的set中的元素
eg:
127.0.0.1:6379> smembers testset
1) "harborchung"
2) "harbor"
3) "harborChung"
4) "chung"
5) "Chung"
127.0.0.1:6379> srem testset "harbor"
(integer) 1
127.0.0.1:6379> smembers testset
1) "harborChung"
2) "chung"
3) "Chung"
4) “harborchung”
4.spop 方法
随机返回并删除名称为key的set中的一个元素,返回值为删除的元素值
eg:
127.0.0.1:6379> spop testset
"chung"
127.0.0.1:6379> spop testset
"Chung"
127.0.0.1:6379> smembers testset
1) "harborChung"
2) "harborchung"
5.sdiff方法
返回所有给定key与第一个key的差集
以在前面的集合名称为标准 取差集
eg:
127.0.0.1:6379> sadd set1 "harbor"
(integer) 1
127.0.0.1:6379> sadd set1 "harborChung"
(integer) 1
127.0.0.1:6379> sadd set2 "harborChung"
(integer) 1
127.0.0.1:6379> sadd set2 "Chung"
(integer) 1
127.0.0.1:6379> sdiff set1 set2
1) "harbor"
127.0.0.1:6379> sdiff set2 set2
(empty list or set)
127.0.0.1:6379> sdiff set2 set1
1) “Chung"
6.sdiffstore方法
返回所有给定key与第一个key的差集,并将其赋予给另一个key中
eg:
127.0.0.1:6379> sdiffstore set2 set1 set3
(integer) 1
127.0.0.1:6379> smembers set3
1)“harborchung"
7.sinter方法
返回所有给定key的交集
eg:
127.0.0.1:6379> sinter set1 set2
1) "harborChung"
2) "harbor"
8.sinterstore方法
返回所有给定key的交集并将结果存到另一个集合当中
eg:
127.0.0.1:6379> sinterstore set1 set2 set4
1) "harborChung"
2) “harbor”
127.0.0.1:6379> smembers set4
1) "harborChung"
2) “harbor”
9.sunion方法
返回所有给定key的并集
eg:
127.0.0.1:6379> smembers set1
1) "harbor"
2) "chong"
3) "zhong"
127.0.0.1:6379> smembers set2
1) "harbor"
2) "harborChung"
127.0.0.1:6379> sunion set1 set2
1) "harborChung"
2) "chong"
3) "harbor"
4) "zhong"
10.sunionstore方法
返回所有给定key的并集并将结果存到另一个集合当中
eg:
127.0.0.1:6379> sunionstore set1 set2 set3
(integer) 4
127.0.0.1:6379> smembers set13
1) "harborChung"
2) "chong"
3) "harbor"
4) “zhong"
11.smove方法
从第一个key对应的set中移除member并添加到第二个集合中
eg:
127.0.0.1:6379> sadd setO1 "one"
(integer) 1
127.0.0.1:6379> sadd setO1 "two"
(integer) 1
127.0.0.1:6379> sadd setO2 "two"
(integer) 1
127.0.0.1:6379> sadd setO2 "three"
(integer) 1
127.0.0.1:6379> smove setO2 set03 "three"
(integer) 1
127.0.0.1:6379> smembers set03
1) “three"
12.scard方法
查看集合元素个数
eg:
127.0.0.1:6379> smembers set03
1) "three"
127.0.0.1:6379> scard set03
(integer) 1
127.0.0.1:6379> scard setO2
(integer) 1
127.0.0.1:6379> scard setO1
(integer) 2
127.0.0.1:6379> smembers setO2
1) "two"
127.0.0.1:6379> smembers setO1
1) "one"
2) "two"
13.sismember方法
判断某个元素是否是该集合的元素,返回值1代表是0代表不是
eg:
127.0.0.1:6379> sismember setO1 one
(integer) 1
127.0.0.1:6379> sismember setO1 hoho
(integer) 0
14.srandmember方法
随机返回名称为key的set的一个元素,不删除元素
eg:
127.0.0.1:6379> srandmember setO1
"two"
127.0.0.1:6379> srandmember setO1
"one"
127.0.0.1:6379> srandmember setO1
"two"
127.0.0.1:6379> srandmember setO1
"one"
127.0.0.1:6379> srandmember setO1
"one"
15.SPOP方法
随机返回名称为key的set的一个元素并删除元素
127.0.0.1:6379> SPOP setO1
"two"
127.0.0.1:6379> smembers setO1
“one"
相关推荐
数据类型丰富:Redis支持多种数据类型,如字符串(string)、散列(hash)、列表(list)、集合(set)和有序集合(sorted set)等。这使得Redis能够灵活地应对不同的应用场景。 速度极快:Redis的速度非常快,每秒...
redis学习笔记redis 是一个开源的 key-value 数据库。它又经常被认为是一个数据结构服务器。 因为它的 value 不仅包括基本的 string 类型还有 list,set ,sorted set 和 hash 类型。当 然这些类型的元素也都是 string...
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是...
Redis全套学习笔记,分享的是整理的《Redis 全套学习笔记.pdf》,图文并茂,特别详细,基本上涵盖了 Redis 所有知识点。redis是一个高性能的key-value数据库,它是完全开源免费的,而且redis是一个NOSQL类型数据库,...
● 屏蔽byte[]数据类型,所有实现了序列化接口的对象均可直接在Redis进行读写 ● 保留String数据类型(并不会序列化成byte[],目的是保留与其他程序交互数据的方式) ● 把Redis的Map封装成RedisMap类(key强制为...
它支持存储的 value 类型相对更多,包括 String(字符串)、List(列表)、Set(集合)、Sorted Set(有序集合) 和 Hash(哈希)。在此基础上,Redis 支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。Redis ...
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是...
概念:Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对...4、多数据类型支持: 字符串类型——string 列表类型——list 散列类型 ——hash 集合类型——set 有序集合类型——sorted_set
1,redis选主结束后,是否添加新主节点数据恢复流程(新主例程数据并非所有从例程中数据更新,是否需要与最新的从异步进行数据同步),而不是直接将主数据同步到从基线。 阅读计划和进度: 第一阶段: 阅读redis的...