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中没有的数据
本文来自博客园,作者:alisleepy,转载请注明原文链接:https://www.cnblogs.com/alisleepy/p/15647470.html