这篇文章将为大家详细讲解有关redis集合的相关命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
集合命令的实现方法
命令 | intset 编码的实现方法 | hashtable 编码的实现方法 |
---|---|---|
SADD | 调用 intsetAdd 函数,将所有新元素添加到整数集合里面 | 调用 dictAdd,以新元素为键,NULL 为值,将键值对添加到字典里面 |
SCARD | 调用 intsetLen 函数,返回整数集合所包含的元素数量,这个数量就是集合对象所包含的元素数量 | 调用 dictSize 函数,返回字典所包含的键值对数量,这个数量就是集合对象所包含的元素数量 |
SISMEMBER | 调用 intsetFind 函数,在整数集合中查找给定的元素,如果找到了元素存在于集合,没找到则说明元素不存在集合 | 调用 dictFind 函数,在字典的键中查找给定的元素,如果找到了说明元素存在于集合,没找到则说明元素不存在于集合 |
SMEMBERS | 遍历整个整数集合,调用 inisetGet 函数返回集合元素 | 遍历整个字典,使用 dictGetKey 函数返回字典的键作为集合元素 |
SRANDMEMBER | 调用 intsetRandom 函数,从整数集合中随机返回一个元素 | 调用 dictGetRandomKey 函数,从字典中随机返回一个字典键 |
SPOP | 调用 intsetRandom 函数,从整数集合中随机取出一个元素,再将这个随机元素返回给客户端之后,调用 intsetRemove 函数,将随机元素从整数集合中删除掉 | 调用 dictGetRandomKey 函数,从字典中随机取出一个字典键,在将这个随机字典键的值返回给客户端之后,调用 dictDelete 函数,从字典中删除随机字典键所对应的键值对 |
SREM | 调用 intsetRemove 函数,从整数集合中删除所有给定的元素 | 调用 dictDelete 函数,从字典中删除所有键为给定元素的键值对 |
关于redis集合相关命令介绍就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。