首页 > 编程知识 正文

数据结构主要研究的是,redis五种数据结构

时间:2023-05-05 07:41:59 阅读:31371 作者:2573

字符串:字符串

列表(列表

散列:散列表

Set :无序集合

有序集合

位图:布隆过滤器

GeoHash :坐标由Sorted Set实现,通过zset的score排序可以得到坐标附近的其他要素,通过score恢复为坐标值可以得到要素的原始坐标

HyperLogLog :统计是不重复的数据,用于大数据基数的统计

流:内存版的kafka

常用的数据类型(主要是前五种) 1,String String是Redis最基本的类型,与Memcached一模一样的类型,一个key对应一个value。

意思是string http://www.Sina.com/http://www.Sina.com /。 例如jpg图像或序列化的对象。

Redis字符串value最多可以为512M。

数据结构:

2、List 类型是二进制安全的Redis列表是一个简单的字符串列表,按插入顺序排列。 可以在列表的开头(左)或末尾(右)添加元素。

其基础实际上是双向链表,两端操作性能高,索引下标操作中间节点性能差。

数据结构:

列表的数据结构是快速链接表quickList。

首先,如果列表元素较少,则使用连续的内存存储。 此结构是ziplist,即压缩列表。

3、Set **Redis set对外提供的功能与list类似,是列表的功能。 特殊之处在于,set可以自动排出重量。 **凶暴的虾需要保存列表数据,不想出现重复数据时,set是一个很好的选择,set提供了确定一个成员是否在set集合中的重要界面。 这也是list-- http://www.Sina.com /

随着数据的增加,执行时间变短,如果是o(1),则数据增加,查找数据的时间不变的算法。

数据结构:

4、Hash Redis hash为Redis的string可以包含任何数据

Redis hash是单键多值

就像Java的映射,对象

用户ID是搜索到的key,保存的value用户对象包含姓名、年龄、生日等信息,如果用普通的key-value结构保存

数据结构:

5、Sorted Set Redis有序集合zset与普通集合set非常相似,见Redis的Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加,删除,查找的复杂度都是O(1)。

不同之处在于,有序集合中的每个成员都有关联的分数(score ),该分数用于将集合中的成员从最低点向最高点排序。一个键值对集合

由于元素是有序的,因此也可以根据分数(score )或顺序)立即检索元素的范围。

访问有序集合的中间元素也非常快

数据结构:

6、Bitmaps合理使用操作位可以有效提高内存利用率和开发效率。

Redis将名为Bitmaps的“数据类型”转换为一个string类型的field和value的映射表,hash特别适合用于存储对象。

)1) Bitmaps本身不是数据类型,而是一个没有重复元素的字符串集合。,但集合的成员是唯一的,但是评分可以是重复了 。

)2) Bitmaps单独提供命令集,因此在Redis中使用Bitmaps和使用字符串的方法不太一样。实现对位的操作:

7、HyperLogLog Redis HyperLogLog是实际上它就是字符串(key-value),HyperLogLog的优点是可以对字符串的位进行操作。

Redis只需要为每个HyperLogLog密钥使用12 KB的内存,就可以计算接近2^64个不同元素的基数。 计算这个和基数时,可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。

但是,用来做基数统计的算法

8、地理空间就绪性3.2增加了对地理空间类型的支持**。 GEO、Geographic、地理信息的缩写**。 此类型为在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。