当前位置: 首页 > news >正文

做网站郑州汉狮网站域名验证

做网站郑州汉狮,网站域名验证,深圳做企业网站,做动态的网站目录 一、string(字符串) 1、raw 2、int 3、embstr 二、hash(哈希表) 1、hashtable 2、ziplist 三、list(列表) ​编辑 1、linkedlist 2、ziplist 3、quicklist(redis 3.2后的列表内…

目录

一、string(字符串)

 1、raw

2、int

3、embstr

二、hash(哈希表) 

 1、hashtable

2、ziplist

三、list(列表)

​编辑

1、linkedlist

2、ziplist

3、quicklist(redis 3.2后的列表内部编码方案)

四、set(集合)

1、hashtable

2、intset

五、zset(有序集合)

1、skiplist

2、ziplist

六、查询 value 内部编码格式


Redis 键值对结构中的 value 有五种最为常见的数据类型它们分别是:string(字符串)、list(列表)、hash(哈希)、set(集合)、zset(有序集合)

值得注意的是,这些只是 redis 对外的数据结构,其内部的底层实现方式会根据数据实时优化

PS:redis 只是确保对外用户使用的时候,可以按照提供的数据类型进行使用,时间复杂度也和提供的数据类型保持一致;但是底层在实现上述数据类型的时候,会在源码方面进行优化,即内部编码方式会有所不同。 (redis 会自动根据实际情况选择内部编码格式,用户无感知,我们只需要理解其思想即可)

一、string(字符串)

string 字符串类型内部有三种编码方式

 1、raw

raw 就是最基本的字符串,底层是 char 数组。

2、int

redis 一般也可以用来实现一些计数功能;因此当 value 是整数的时候,redis 底层就会把这个 value 优化成 int 来保存,占用空间小,也便于计算。

3、embstr

针对短字符串进行特殊优化

二、hash(哈希表) 

这里的 hash 类似于 C++ 中的 unordered_map

hash 类型内部有两种编码方式

 1、hashtable

hashtable 就是最基本的哈希表。

2、ziplist

ziplist 叫做压缩列表,其本质是个链表;在元素较少的时候,链表遍历时间复杂度也接近 O(1),这时候,redis 就会把 hash 类型的 value 底层优化成 ziplist,可以有效节省空间。

三、list(列表)

这里的 list 底层类似链表,类似C++中的 deque (双端队列,元素可以从首尾弹出)

list 类型内部有两种编码方式

1、linkedlist

linkedlist 就是最基本的链表,大部分情况下都是这个

2、ziplist

即压缩列表,在元素比较少的时候会优化成 ziplist,节省空间

3、quicklist(redis 3.2后的列表内部编码方案)

在 redis 3.2 版本之后,list 内部编码方案以 quicklist 代替了 linkedlist 和 ziplist,其同时拥有 linkedlist 和 ziplist 的特点:quicklist 整体结构是个链表,链表中的每个元素又都是 ziplist

(PS:只是 list 类型中的 ziplist 被 quicklist 所替代,但是其它数据类型底层的 ziplist 仍然使用)

四、set(集合)

set 中可以包含若干个元素,但是这些元素不能重复。

set  类型内部有两种编码方式

1、hashtable

 hashtable 就是最基本的哈希表

2、intset

当 set 类型的 value 中存储的都是整数时,redis 会把其底层优化成 intset

五、zset(有序集合)

zset 在存储元素的同时,还会存储权重,并把元素依照权重大小进行优先级排序

1、skiplist

skiplist 是跳表,其本质也是链表,但是其不同于普通的链表,其每个节点有多个指针域,根据这些指针域的灵活搭配,可以做到在跳表上查询元素的时间复杂度为 O(log n)

2、ziplist

压缩链表,和之前的一致,不再赘述。

六、查询 value 内部编码格式

object encoding key名

可以通过 object encoding,查看某个 key 对应的 value 的内部实际编码格式。

使用实例
http://www.yayakq.cn/news/92644/

相关文章:

  • 海南房产网站开发关于小城镇建设的网站
  • 电子商务网站开发的题域名备案查询工具
  • 邢台推广网站建设电话asp.net网站开发教程下载
  • 襄阳高新区建设局网站个人备案网站可以做产品推广
  • 外包公司做网站多少钱做网站跟app需要多少钱
  • 贵阳制作网站的公司合优做网站需要多少钱
  • 什么网站好网站跳转到另外一个网站怎么做
  • 文案写作网站网址域名大全2345网址
  • 哪些网站是做婴童辅食招商的淄博做网站建设
  • 外贸网站建设定做南宁网站seo顾问
  • 三亚市住房和城乡建设局网站房产信息网哪个好
  • 网站设计文稿网站制作时间代码
  • 江苏建设教育网站河南 网站备案
  • 用wampserver搭建网站网站的建设费用
  • 网站网页进口旅游景点网站设计
  • 有哪些做画册的网站网站怎么在移动端推广
  • 如何用rp做网站中山网站建设外包
  • 设计师网站1688北京市建设规划网站
  • 北京高端网站设计外包公司企业网络规划设计与实现
  • 那个外贸网站做的最好do_action wordpress
  • 网站如何连接微信支付宝吗设计公司logo设计图片
  • 网站开发需要多少钱厦门it做网站最强
  • 简述jsp网站架构环保网站 中企动力建设
  • 四川网站建设方案手机网站整站模板下载
  • 广州网站建设及推广外贸企业网站建设一条龙
  • 梅州市建设培训中心网站西安造价信息网官网
  • 沧州网站建设益志科技大连建设学院网站
  • 爱站网怎么用廊坊网站制作报价
  • 湛江网站推广优化网站定位策划
  • 电子商务网站建设与设计论文企业邮箱是qq邮箱吗