redis数据结构解析

                                  redis数据结构解析

之前一直以为redis中的数据结构是B+树之类的数据结构(数据库的索引机制),但是事实上是我想多了,redis本身的数据结构大多数都是我们常见的,除了跳跃表这个概念,也没有其他新型结构;纵观redis的整体,是通过空间换取时的思想,另外添加了事务和集群的概念,就形成了我们现在眼前的redis。
先来看一下redis支持的数据类型
1.字符串
2.列表(list)
3.集合(set)
4.hash
5.zset(有序set)
本文只对redis数据结构做大概的介绍,后续会对不同的结构做专题分析
1.字符串
   reids 最基本的数据结构是字符串,但是它的字符比C语言的字符串要复杂一点,redis的字符串成为 SDS (simple dynamic String);与正常的String 不一样的是,它在基本的String 上做了一些扩展。SDS 一共三个属性:freeSize,len,buffer,
2.字典 hash 结构,俗称的map,redis中的字典比较复杂,一个字典中会有两套hash结构
3.链表
  链表结构属于双向链表,集合的基础数据
4.跳跃表
  redis中有序集合的基础,可以先参考一下java中的跳跃表,但比java的要复杂
5.整数集合
  redis中集合数据的实现之一
6.压缩列表
  列表键和hash键的的底层实现之一
大家可以先对redis中大体包含的数据结构了解一下,有时间再一起深入了解reids,带大家一起装逼!!!

猜你喜欢

转载自ludizhang.iteye.com/blog/2308694