zoukankan      html  css  js  c++  java
  • Redis底层数据结构实现

    REDIS  较宽泛的支持5种数据结构  分别为

    1. 字符串
    2. 列表
    3. 集合
    4. 散列
    5. 有序集合

    关于这几种数据结构的使用 相信网上有很多资料,查看官网API 也很详细了  读者可以自己随意翻阅 很方便 。

    接下来介绍的是  这些数据结构背后的实现 。更底层的数据结构实现

    (1)先介绍SDS这种数据结构 :SDS【simple dynamic string】简单动态字符串

    我们先说场景:比如用的比较多的SET命令  set msg  "hello"

    那么过程是什么样子的呢  

    Redis将在数据库中创建一个新的键值对

    • 键值对的键是一个字符串,底层实现是保存了"msg"的SDS
    • 键值对的值也是一个字符串对象,对象的底层实现也是保存了字符串"hello"的SDS

    (2)链表

     integers 底层实现就是一个链表,每个节点保存了一个整数值

    场景:发布与订阅、慢查询、监视器等功能也用了链表,Redis服务器本身还使用了链表来保存多个客户端的状态信息,以及使用链表来构建客户端输出缓冲区

    (3)字典

    1.Redis数据库就是使用字典来作为底层实现的,对数据库的增、删、改都是构建在字典之上的

    set msg "hello"

    还是这个例子 这个键值对就是保存在代表数据库的字典里面的

    2.还有一种场景

    之前的散列结构 

     website键的底层实现就是一个字典,字典包含了10086个键值对

    (4)跳跃表

    ...未完待续

  • 相关阅读:
    oracle启动的三步
    Solaris下vi的简单使用帮助
    Solaris下ftp配置(初稿待补充)
    soap笔记1
    Solaris 10 查看机器的网卡mac地址
    查看表空间名称与对应文件
    [转]Ubuntu10.04的网络配置
    [转]红帽企业版RHEL6使用Fedora13的yum源
    [转]linux忘记密码怎么办法
    [转]个人管理 - IT人士书籍推荐(已读)
  • 原文地址:https://www.cnblogs.com/zhangfengshi/p/13409711.html
Copyright © 2011-2022 走看看