Redis - set 集合

Redis - set 集合

1、set集合类似于list,可以存放一组string数据,不过有个特点是:
1)set集合中的数据是去重的,也就是所有数据不能有重复的
2)set结合中的数据是无序的,每次读取可能顺序都不一致

2、set集合数据结构:
set是一个string类型的无序集合,底层是一个value为null的hash表,所以添加、删除、查找元素的
复杂度为 O(1)

3、set集合的命令:

1)sadd key v1 v2:
将一个多多个值存放在键名为key的集合中,已存在的元素将忽略

2)smembers key:
取出key集合中的所有值的信息

3)sismember key value:
判断集合中是否存在 value值,类似于php中的in_array操作

4)scard key:
返回该集合中的元素个数,类似于php中的count($arrat)操作

5)srem key value value2:
从集合中删除value值,这个没有索引,因为set是无序的,需要根据value值来进行查找到值再进行		删除操作
	
6)spop key:
随机从集合中取出一个值,原集合中会将该值移除

7)srandmember key n:
随机从集合中取出n个值,但不会将这些值删除

8、smove <source> <to> value:
将集合中的一个value值移到另一个集合中去

9、sinter <key1> <key2>:
获取集合的交集,两个集合都有的数据

10、sunion <key1> <key2>:
获取两个集合的并集,取两个集合的所有数据,重复的去重只获取一次

11、sdiff <key1> <key2>:
获取两个集合的差集,key1中有key2中没有的数据
sdiff <key2> <key1>:获取key2中有,key1中没有的数据
posted @ 2021-12-05 22:34  alisleepy  阅读(884)  评论(0编辑  收藏  举报