Redis | 源码阅读 —— 字符串
点击上方蓝字关注我们 使用过 Redis 的都知道 Redis 用的最多的可能是它的 Key/Value 的缓存,在 Redis 用作 Key/Value 的缓存时,Value 有若干种数据类型,分别是 String、List、Set、Sorted Set 和 Hash。不同的 Value 类型对应了不同的数据结构,我们分别来了解一下 Redis 各种 Value 类型的数据结构。 这次先来了解一下,Redis 的 String 类型所对应的数据结构。我这里要首先感谢《Redis 设计与实现》一书的作者 黄健宏 先生,他写出如此优秀的书籍从而让我们能够学习高性能的 Redis 的内部实现原理。 Redis 是使用 C 语言实现的,C 语言本身就是一种运行时非常高效的程序设计语言。但是 Redis 的字符串结构并没有沿用 C 语言常规的存储字符串的方式。在 C 语言中,字符串是以数组的形式存储在内存中的,并且以 \0 作为字符串的结尾。在 C 语言中,读取字符串、计算字符串长度、连接字符串、拷贝字符串等函数,都是以 \0 来进行判断,而如果在写代码时对缓冲区检查不严格...

