Redis源码阅读日记
文章平均质量分 79
源码刚起来
Leon0204
这个作者很懒,什么都没留下…
展开
-
Redis 的单线程设计、深度剖析IO多路复用的具体实现
Redis 的单线程是否真的是单线程?为什么要采用单线程设计?Redis 单线程为什么快Redis 中事件驱动的实现原创 2020-09-04 17:03:38 · 830 阅读 · 0 评论 -
Redis源码4.0阅读日记 (2)字典dict
dict.h哈希表节点typedef struct dictEntry { void *key; //键 union { void *val; uint64_t u64; int64_t s64; double d; } v; // 值 struct dictEntry *next; // 指向下...原创 2019-12-26 10:44:10 · 277 阅读 · 0 评论 -
Redis源码4.0阅读日记 (1)内存管理 zmalloc
Redis源码4.0阅读 之 内存管理 zmalloc本文分析了 Redis 的 zmalloc.c 和 zmalloc.h 代码全文注释,分析实现原创 2019-12-11 17:31:11 · 545 阅读 · 0 评论 -
Redis 分布式集群,分配Slots
某天在开启了Redis集群之后,发现网站没法正常访问了,发现Nginx-lua 中的 Redis 丢失连接 …集群下线问题表现通过查看 openrestry log 发现 lua脚本报错 :2018/06/12 17:48:20 [error] 23272#0: *75665 lua entry thread aborted: runtime error: /usr...原创 2018-06-22 15:53:42 · 7794 阅读 · 4 评论 -
Redis过期策略以及内存淘汰机制
如果你的 Redis 只能存10G数据,你写了12G,那么 Redis 会怎么淘汰那2G数据呢?过期键删除策略我们都知道,删除键的目的,就是释放内存占用。那么,当一个键过期了,Redis 什么时候会去删除她呢?定时删除设置键的过期时间时,创建一个 Timer ,当过期时间到临时,立刻删除键。内存友好型策略,一旦键过期,就会被删除,并释放所占用的内存,Cpu 不友好,当一...原创 2018-06-21 18:28:59 · 23343 阅读 · 5 评论 -
Redis源码阅读:Redis字符串SDS
SDS 基本概念简单动态字符串(Simple Dynamic String)SDS,用作Redis 的默认字符串。 C语言中的字符串:以空字符结尾的字符数组SDS实现举例redis > SET msg "hello world"OK我们通过 SET 在 Redis 数据库中创建了一个数据键对象为 "msg" 和 数据值对象为 "hello world" 的键值对,其中...原创 2018-06-21 13:09:48 · 336 阅读 · 0 评论