2、redis中的Set redis中的set是可以自动排重的,而且是无序集合。它的底层是一个value为null的hash表,所以增加,删除,查找的复杂度都是O(1)。 (1)将一个或多个member元素加入到集合key中,已经存在的member元素将被忽略 sadd <key><value1><value2> (2)取出该集合的所有值 smembers <key> 注意:set集合中...
Set和List在内存使用方面有所不同。Set通常使用哈希表来存储元素,因此内存使用相对较低。而List需要为每个元素分配内存空间,特别是当列表包含大量重复元素时,内存使用会相对较高。 应用场景: Set:适用于需要存储唯一元素的场景,例如标签(tags)、好友关系(friends)等。Set还常用于一些集合运算,如交集、并集和差集等。
三、集合(Set) 概述 RedisSet对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。 Redis的Set是String类型的无序集合。它底层...
夯实基础,这篇文章带着大家回顾一下 Redis 中的 8 种常用数据类型: 5 种基础数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。3 种特殊数据类型:HyperLogLog(基数统…
Redis 共有 5 种基本数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。 这5 种数据类型是直接提供给用户使用的,是数据的保存形式,其底层实现主要依赖这 8 种数据结构:简单动态字符串(SDS)、LinkedList(双向链表)、Dict(哈希表/字典)、SkipList(跳跃表)、Intset(整数集合)、ZipLi...
lpush key values[value1 value2…]:在指定的key所关联的list的头部插入所有的values,如果该key不存在,该命令在插入的之前创建一个与该key关联的空链表,之后再向该链表的头部插入数据。插入成功,返回元素的个数。 rpush key values[value1、value2…]:在该list的尾部添加元素。
总的来说,RedisSet和List是两种功能强大的数据结构,各自有独特的优势和使用场景。在选择使用哪种数据结构时,应该根据具体的需求来决定: 如果需求侧重于快速查找和去重,推荐使用Set。 如果需要维护数据的顺序且允许重复,List则是更好的选择。 通过清楚理解这两种结构的特点和性能,我们可以在开发中更有效地利用Redis,提...
【Redis】五大常见的数据类型之 Set 前言 我们都知道Redis提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)。 今天我们就来详细的聊聊 Redis 这五大常见的数据类型之一Set; 应用场景:聚合计算(并集、交集、差集)场景,比如点赞、共同关注、抽奖活动等;...
Redis 提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)。 String String是简单的key-value 键值对,sequences of bytes,可以存储文本,序列化的对象,二进制数组。最大长度512M 底层实现 string 类型的底层实现是 SDS(simple dynamic string),它是一个动态字...