zoukankan      html  css  js  c++  java
  • 《Redis

    一:概述

      - Redis 源码版本为3.0.0.

      - Redis 列表命令请戳。

      - OBJECT ENCODING key 查看数据底层类型实现。

    二:总结

      - 使用 List 时

        - 控制数据大小,尽量不要写入 不要超过  list-max-ziplist-value 配置的字节数。

        - 控制列表长度,尽量数量不要 不要超过   list-max-ziplist-entries 配置的个数。

      - 否则会引起底层数据结构的变化导致内存耗费的增加,同时数据过大和列表元素过多,都会导致列表性能降低

    二:列表对象的底层实现

      - 编码方式

        - 字符串对象共有三种编码方式  ziplist(压缩列表) / linklist(双向链表)

      - 编码方式的选择

        - 当列表对象元素都 小于64字节(list-max-ziplist-value) / 列表数量小于512个(list-max-ziplist-entries) 则使用 ziplist 。

        - 不满足条件则使用 list.

      ziplist 编码方式

        - 为了节约内存而开发,由一系列的特殊编码连续内存块组成的顺序型数据结构

        - 保存流程

          - 每当新的列表节点加入,则每个节点(entry)保存一个列表元素。

        - 图示

          -

      - linklist 编码方式

        - skiplist 使用双端链表实现作为底层实现。则每个节点(node)保存一个列表元素。

        - 图示

          -

    四:编码转换

      - 当 ziplist 大于64/长度大于512 则会进行编码的转换 ziplist -> linklist.

    五:列表命令的实现

      - 

  • 相关阅读:
    shell脚本
    正则表达式和文本处理工具二
    正则表达式和文本处理工具
    Linux基础实操六
    Linux基础实操五
    caffe 试运行MNIST
    转 Windows+VS2013爆详细Caffe编译安装教程
    python一
    VS2008 C++ 调用MATLAB 2009b 生成的DLL .
    MFC抓网页
  • 原文地址:https://www.cnblogs.com/25-lH/p/12684141.html
Copyright © 2011-2022 走看看