美文网首页
Redis——相关数据结构

Redis——相关数据结构

作者: 远o_O | 来源:发表于2017-07-19 10:31 被阅读11次

strings:字符串

  • SDS(simple dynamic string):自己构建的一种简单动态字符串的抽象类型,并且是Redis的默认字符串表示。

struct sdshdr{
int len;//保存的字符串长度
int free;//未使用的字节数量
cahr buf[];//字节数组
}

  • 常数复杂度获取字符串长度
  • 杜绝缓存区溢出
  • 减少修改字符串时带来的内存重分配次数
  • 二进制安全
  • 兼容部分C字符串函数
  • C字符串:作为字符串字面量,用在一些无须对字符串值进行修改的地方,例如打印日志。

LinkedList:链表

  • 链表在Redis中的应用非常广泛,列表键list的底层实现之一就是链表。
  • 特性:
  • 双端
  • 无环
  • 带表头指针和表尾指针
  • 带链表长度计数器
  • 多态:可以保存不同类型的值

map:字典、映射

  • 场景:

  • Redis的数据库就是使用字典来作为底层实现的,对数据库的增删该查操作也构建在对字典的操作之上的。

  • 字典还是哈希键的底层实现之一, 键值对较多or元素都是比较长的字符串时会选用。

  • 特性:

  • Redis中的字典使用hash表作为底层实现,每个字典带有两个哈希表,一个平时使用,一个仅在进行rehash时使用。

  • 使用MurmurHash算法计算key的哈希值

  • 使用链地址法解决hash冲突——单向链表

  • 进行扩展和收缩时,rehash是渐进式完成的。

skiplist:跳跃表

sorted sets:有序集合

bitmaps:位图

hyperloglogs

相关文章

  • 缓存穿透、雪崩、击穿解决方案

    Redis相关数据结构 Redis List适用场景为:排名、排行榜、近期访问数据列表等业务。Redis Set适...

  • Redis——相关数据结构

    strings:字符串 SDS(simple dynamic string):自己构建的一种简单动态字符串的抽象类...

  • redis数据结构附录

    引言 本次对上一次的数据结构知识进行补充,主要有redis数据结构的相关应用场景和内存相关知识 引用计数-内存 r...

  • redis数据结构

    引言 从本次开始,对Redis设计与实现进行阅读及相关读书笔记的记录。Redis版本为3.0 数据结构 简单动态字...

  • 【Redis缓存】- Redis数据结构、基本命令操作、持久化

    一、Redis 数据结构 要想使用 Redis 进行数据存储,首先需要了解 Redis 的数据结构,redis存储...

  • 2017O(∩_∩)O

    高性能MySQL JVM内存模型相关 数据结构与算法 nowcoder redis实现原理 java_web fr...

  • Redis

    Redis 关系型和非关系数据库比较: redis数据结构 redis列表数据结构 案例 概念: redis是一款...

  • Redis慢查询日志

    版本:redis-4.0.9 数据结构 处理过程 相关功能函数 可以看到: 慢日志以list存储。 slowlog...

  • Redis设计与实现-笔记(一)

    数据结构与对象 Redis的底层数据结构,了解Redis的底层数据结构有助于我们更好的运用Redis。 SDS R...

  • redis list底层数据结构

    redis list数据结构  redis list数据结构底层采用压缩列表ziplist或linkedlist两...

网友评论

      本文标题:Redis——相关数据结构

      本文链接:https://www.haomeiwen.com/subject/lfdxkxtx.html