Redis设计与实现 笔记
酩酊_
Java
展开
-
Redis设计与实现 笔记(3)
持久化RDB文件的创建与写入SAVE命令 ——会阻塞Redis服务器进程,直到RDB文件创建完毕为止BGSAVE ——派生出一个子进程,负责创建RDB文件。AOF文件的更新频率通常比RDB文件高,所以如果开启了AOF持久化功能,则会优先使用AOF来还原数据RDB文件,保存的是数据库的键值对记录;AOF持久化记录的是所执行的写命令。AOF重写——不会包含冗余命令。——通过读取...原创 2020-04-05 12:49:02 · 72 阅读 · 0 评论 -
Redis设计与实现 笔记(2)——对象系统
——上一篇文章记录的是Redis最底层用到的主要数据结构,但Redis不是直接以这些数据结构构建键值对数据库的,而是:基于基础数据结构构建出多个对象,从而与Redis提供的数据类型相匹配(字符串、列表、集合、哈希表、有序集合)对象结构 redisObjecttypedef struct redisObject { unsigned type:4;//类型(对应5种数据类型) unsi...原创 2020-04-01 16:06:47 · 86 阅读 · 0 评论 -
Redis设计与实现 笔记(1)——基础数据结构篇
一、简单动态字符串1、Redis自己构建了一个名为SDS(simple dynamic string)的字符串数据结构。struct sdshdr { int len;//记录buf数组已使用字节的数量==所保存字符串的长度 int free;//记录数组未使用字节的数量 char buf[];//字符串的底层实现——字节数组;};//遵循了C字符串以空字符(占1字节)结尾的惯例,且该...原创 2020-04-01 13:20:00 · 95 阅读 · 0 评论