Redis 原理篇 - Redis如何运作的
数据如何存储 偷大佬的全景图 看代码 // redis 5.0.5 // 定义Redis数据库的结构体 typedef struct redisDb { // 存储数据库中的键值对 dict *dict; // 存储设置了超时时间的键
Redis 学习笔记XII PartI -- 总结
Redis 学习笔记 XI -- Ojbect's TTL and refcount
1. 过期时间是什么 在redis 中是一个k-v 的失效时间点。设定由过期时间的key 在TTL 衰减到0时这个kv对会被redis回收 2. 为什么要过期时间 如果不设置过期时间,且数据也不是什么常驻数据,那么当这个kv失效后仍驻留在内存里,如果不手动DEL 这个kv对就会一值占用内存资源,对于
Redis 学习笔记 X -- SKIPLIST
1.跳表是什么? 标准跳表是一个元素有序的遵循相邻层节点数比(相邻上下层)是2:1的链表。由美国计算机科学家发明于 1989 年 redis 中的跳表是基于标准跳表改进而来,采用幂次定律 (power law,越大的数出现的概率越小) 改进了标准跳表因为需要严格保证相邻上下两层严格2:1 比例使得在
Redis 学习笔记 VIIII -- ZSET
1.ZSET是什么? 根据一个有权重的KV(val 就是存储权重)存储合集 2.ZSET适用场景? 需要排序的场景,比如游戏里的排行榜,人气榜什么的... 3.常用操作 偷图
Redis 学习笔记 VIII -- HASHTABLE
1. HASHTABLE概述 就是数据结构中经典的哈希表衍生, 查询访问仍在常熟步能完成.且特性也和STL中的hash_map 一样,表中元素格式到大一定量时会根据因子乘数扩容相应空白节点,存储,查询也是通过映射函数完成的. 2. HASHTABLE结构 先看图
Redis 学习笔记 VII -- HASH
1. Redis Hash是什么? 一种底层编码 由 ZIPLIST 和 HASHTABLE 构成的具有哈希表功能的Redis 对象. 与SET 集合相比,哈希不支持 集合的对应运算操作,比如集合减,集合并,集合交. 2. 适用场景 适合典型的KV类数据查询.比如配置信息,用户名与密码MD5
Redis 学习笔记 VI -- SET
1. Set是什么? 一个存储若干元素的合集,底层是整数有序数组或者字符串字典,redis set 提供常见的并交减查操作. 2. 适用场景 适用于一些对数据顺序不太关心的合集类场景,比如用户关注列表,用户个人书单什么的. 3. 常用操作 3.1 写操
Listpack 如何解决连锁更新
element-tot-len 长度固定的吗? Listpack 中的 element-tot-len(元素总长度)字段并不是固定的,它的大小取决于元素的编码类型和数据的总长度。这个字段的作用是记录当前元素的编码类型和数据部分的总长度,但不包括 element-tot-len 字段自身的长度。 el