From cbf4c90b07d9f28a55fdd2522467a7a299d040e1 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Wed, 28 Oct 2026 22:51:27 +0800 Subject: [PATCH] Update Redis.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充 Bitmap、HyperLogLog 与 GEO(新增附录)、ziplist 的连锁更新;先讲使用场景再讲数据结构,事件循环、渐进式 rehash 和 SDS 预分配的细节移到进阶篇;写明缓存相关问题见缓存笔记。 --- notes/Redis.md | 355 ++++++++++++++++++++----------- notes/pics/redis-bitmap-sign.png | Bin 0 -> 157946 bytes 2 files changed, 227 insertions(+), 128 deletions(-) create mode 100644 notes/pics/redis-bitmap-sign.png diff --git a/notes/Redis.md b/notes/Redis.md index aa0d3174..c0b2a2a7 100644 --- a/notes/Redis.md +++ b/notes/Redis.md @@ -9,11 +9,9 @@ * [SET](#set) * [HASH](#hash) * [ZSET](#zset) - * [三、数据结构](#三数据结构) - * [对象编码](#对象编码) - * [字典](#字典) - * [跳跃表](#跳跃表) - * [四、使用场景](#四使用场景) + * [BITMAP](#bitmap) + * [HyperLogLog 与 GEO](#hyperloglog-与-geo) + * [三、使用场景](#三使用场景) * [计数器](#计数器) * [缓存](#缓存) * [查找表](#查找表) @@ -22,6 +20,10 @@ * [分布式锁实现](#分布式锁实现) * [排行榜](#排行榜) * [其它](#其它) + * [四、数据结构](#四数据结构) + * [对象编码](#对象编码) + * [字典](#字典) + * [跳跃表](#跳跃表) * [五、Redis 与 Memcached](#五redis-与-memcached) * [数据类型](#数据类型) * [数据持久化](#数据持久化) @@ -35,9 +37,6 @@ * [九、事务](#九事务) * [Lua 脚本](#lua-脚本) * [十、事件](#十事件) - * [文件事件](#文件事件) - * [时间事件](#时间事件) - * [事件的调度与执行](#事件的调度与执行) * [单线程为什么快](#单线程为什么快) * [十一、复制](#十一复制) * [连接过程](#连接过程) @@ -55,8 +54,9 @@ * [A3 单线程的吞吐量和 CPU 时间](#a3-单线程的吞吐量和-cpu-时间) * [A4 Redis Cluster](#a4-redis-cluster) * [A5 Sentinel 故障转移](#a5-sentinel-故障转移) - * [A6 SDS 的空间预分配](#a6-sds-的空间预分配) - * [A7 热点计数](#a7-热点计数) + * [A6 热点计数](#a6-热点计数) + * [A7 Bitmap 的签到和日活](#a7-bitmap-的签到和日活) + * [A8 HyperLogLog 的误差和内存](#a8-hyperloglog-的误差和内存) * [参考资料](#参考资料) @@ -207,66 +207,94 @@ OK 6) "92" ``` -## 三、数据结构 +### BITMAP -### 对象编码 +位图(Bitmap)不是一种独立的数据类型,而是 STRING 上按位读写的一组命令:值仍然是 SDS 中的字节数组,TYPE 返回 string,第 offset 位表示整数 offset 是否在集合中。STRING 最大 512 MB,所以 offset 的范围是 0~232 − 1。 -同一种数据类型会根据元素的数量和大小选择不同的底层结构,称为编码,可以用 OBJECT ENCODING 查看。元素少时使用 listpack,它把所有元素连续地存放在一块内存中,节省内存,查找时虽然要逐个比较,但元素很少时并不慢;元素增多后转换为查找更快的结构。以下是在 Redis 7.4 上用默认配置验证的结果: +它适合成员能编号为 0~N 的整数、并且只需要记录“是或否”的场景,例如某个用户某天是否签到、某个用户今天是否访问过。主要有以下命令: -| 类型 | 元素少时 | 超过阈值后 | 阈值 | -| --- | --- | --- | --- | -| STRING | int(整数)、embstr | raw | 44 字节 | -| LIST | listpack | quicklist(多个 listpack 组成的链表) | 单个 listpack 超过 8 KB | -| HASH | listpack | hashtable | 512 个字段,或者有值超过 64 字节 | -| SET | intset(全是整数)、listpack | hashtable | 整数 512 个,其它 128 个 | -| ZSET | listpack | skiplist(跳跃表 + 字典) | 128 个成员,或者有成员超过 64 字节 | +- SETBIT key offset 0|1:设置一位并返回这一位原来的值,字符串不够长时自动扩展,新增的位为 0; +- GETBIT key offset:读取一位,超出字符串长度的位当作 0; +- BITCOUNT key [start end [BYTE|BIT]]:统计值为 1 的位数,范围默认按字节,Redis 7.0 起可以按位指定; +- BITPOS key 0|1:查找第一个 0 或 1 所在的位置; +- BITOP AND|OR|XOR|NOT destkey key [key ...]:对多个位图做位运算,结果写入 destkey; +- BITFIELD:把一段连续的位当作整数读写,例如 GET u28 0 把前 28 位读成一个无符号整数,也可以用 INCRBY 把每几位当作一个小计数器。 -例如一个 HASH 有 512 个字段时编码为 listpack,再写入一个字段就变为 hashtable。ZSET 转换后同时使用跳跃表和字典:字典按成员查分数,跳跃表按分数排序和范围查询。 +#### 1. 签到 -字符串的内容保存在简单动态字符串(Simple Dynamic String, SDS)中,它在字符数组前面记录了已用的长度 len 和分配的容量 alloc: +每个用户每月一个键 sign:{用户 ID}:{年月},第 n 号签到就把 offset n − 1 置为 1,一个月最多 31 位,只占 4 个字节。下图是用户 1001 十月 1 号到 28 号的签到情况: -- 取长度是 O(1),不用像 C 字符串那样遍历到 \0; -- 按 len 而不是 \0 判断结尾,可以保存任意二进制数据; -- 追加时空间不够才重新分配,并且多分配一些:新长度小于 1 MB 时分配新长度的 2 倍,否则多分配 1 MB,连续追加时不用每次都重新分配内存。 +

-例如对 60 字节、没有剩余空间的字符串再 APPEND 1 字节,SDS 按 2 × 61 = 122 字节申请(内存分配器向上取整为 128 字节),追加后剩余 63 字节;对 2040000 字节的字符串追加后剩余约 1 MB(Redis 7.4 实测,见[附录 A6](#a6-sds-的空间预分配))。embstr 编码把对象头和 SDS 放在同一块内存中,只需分配一次,44 字节的上限正好让两者一起放进 64 字节;它是只读的,APPEND 等修改会先把它转为 raw。 +```text +> setbit sign:1001:202610 27 1 -- 28 号签到,返回原来的值 0 +(integer) 0 +> setbit sign:1001:202610 27 1 -- 重复签到,返回 1 +(integer) 1 +> getbit sign:1001:202610 3 -- 4 号是否签到 +(integer) 0 +> bitcount sign:1001:202610 -- 本月签到天数 +(integer) 23 +> bitpos sign:1001:202610 0 -- 第一次漏签的位置 +(integer) 3 +> bitfield sign:1001:202610 get u28 0 -- 1~28 号的 28 位 +1) (integer) 251606975 +``` -### 字典 +SETBIT 返回 1 说明今天已经签过,可以据此避免重复发放签到奖励。 -键空间、HASH 和 SET 的 hashtable 编码、ZSET 中按成员查分数的部分,都是用字典(dict)实现的。字典是一个哈希表,用拉链法解决哈希冲突:桶的数量是 2 的幂,键的哈希值与桶数减 1 做位与得到桶的下标,落在同一个桶的键用链表连起来。 +连续签到天数用 BITFIELD 一次读出 1 号到今天的位。每个字节从最高位开始编号,所以今天对应整数的最低位,在应用中从最低位开始数连续的 1,遇到 0 停止:251606975 的二进制末尾是 0111111,截至 28 号连续签到 6 天。“连续签到 7 天送优惠券”就是判断这个数是否达到 7,跨月时还要接着读上个月的键。 -键越来越多时链表变长,查找变慢,需要扩大桶数组并把所有键重新放一遍,称为 rehash。Redis 用一个线程执行命令,一个有几百万个键的字典一次性 rehash 会让服务器停顿很久,所以采用渐进式 rehash: +内存方面,每人一年 365 位只有 46 字节,但每个键还有键名、对象头和字典项的开销。每人每年一个键时,实测平均每个键约 150 字节,1 亿用户一年约 15 GB,其中位图本身只有 4.6 GB(Redis 7.4 实测,见[附录 A7](#a7-bitmap-的签到和日活))。 -- 字典中有两张哈希表 ht_table[0] 和 ht_table[1],平时只用 ht_table[0]; -- 键的数量达到桶数时扩容,ht_table[1] 的大小为不小于键数加 1 的 2 的幂;有子进程在执行 BGSAVE 或 AOF 重写时,为了减少写时复制的内存页,要达到桶数的 4 倍才扩容; -- 键的数量不超过桶数的 1/8 时缩容,过程相同; -- rehashidx 记录迁移到了哪个桶,之后每次对这个字典增删改查,都顺便把一个桶中的所有键迁移到 ht_table[1],serverCron 也会定期花不超过 1 毫秒继续迁移; -- 迁移期间新写入的键只放入 ht_table[1],查找和删除时两张表都可能要查; -- 全部迁移完成后,ht_table[1] 变为 ht_table[0],rehashidx 恢复为 -1。 +#### 2. 日活统计 -

+用户 ID 是从 1 开始连续分配的整数时,也可以反过来每天一个键 active:{日期},offset 是用户 ID,所有用户当天的状态放在同一个位图中。100 万个用户只需要 106 / 8 = 125000 字节,约 122 KB: -以上依据 Redis 7.4 的 dict.c。Redis 7.0 之前的两张表是 dict 中的 dictht ht[2],渐进式 rehash 的过程相同。 +```text +> setbit active:20261028 1000 1 -- 用户 1000 今天访问过 +(integer) 0 +> bitcount active:20261028 -- 当天活跃人数 +(integer) 369445 +> bitop and active:7d:and active:20261022 active:20261023 ... active:20261028 +(integer) 125001 +> bitcount active:7d:and -- 7 天每天都活跃的人数 +(integer) 100184 +> bitop or active:7d:or active:20261022 active:20261023 ... active:20261028 +(integer) 125001 +> bitcount active:7d:or -- 7 天内活跃过的人数(周活) +(integer) 925445 +``` -### 跳跃表 +BITOP 返回结果的字节数。100 万用户的位图上,BITCOUNT 的服务器执行时间约 15 微秒,对 7 天的位图做 BITOP AND 约 84 微秒;同一天的 36.9 万个活跃用户如果用 SET 保存,要占 14 MB(Redis 7.4 实测,见[附录 A7](#a7-bitmap-的签到和日活))。 -跳跃表(skiplist)是有序集合在成员较多时的底层结构,它在一条有序链表上增加了多层索引。 +签到也可以这样存,每天一个键记录所有用户。两种键各有所长:按用户分键,查一个人一个月的情况只读一个键;按日期分键,统计一天的人数、多天的交集和并集只需一两条命令,并且没有大量小键的开销,1 亿用户一年是 365 × 12.5 MB ≈ 4.6 GB。 -最底层是包含所有成员、按分值排序的链表。每个节点插入时随机决定层数:以 1/4 的概率升高一层,最多 32 层。所以大约每 4 个节点有 1 个出现在第 2 层,每 16 个节点有 1 个出现在第 3 层,平均每个节点约 1.33 个指针。 +#### 3. 用户 ID 稀疏 -查找时从最高层开始向右走,下一个节点比目标大时下降一层,直到最底层。每层平均只走几步,查找、插入和删除的期望时间复杂度都是 O(logN)。下图演示了查找 26 的过程。 +SETBIT 会把字符串扩展到 offset 所在的字节,中间的内存一次分配完。用户 ID 从 1 亿开始时,第一个用户就要分配 12.5 MB;offset 为 40 亿时要分配 500 MB,这次 SETBIT 耗时约 100 毫秒,之后对它执行一次 BITCOUNT 约 92 毫秒,这期间服务器不能处理其它命令。64 位的雪花 ID 超过了 232 − 1,根本不能直接作为 offset。 -

+解决方案: -与红黑树等平衡树相比,跳跃表有以下优点: +- 先把 ID 转换成从 0 开始的连续序号,例如减去起始值,或者为用户另外分配一个自增序号; +- 位图很大时按序号分段拆成多个键,键名为序号 / M,offset 为序号 mod M,避免单个大键; +- 活跃的 ID 很少时改用 SET 或 HyperLogLog:1000 个分布在 1 亿以内的 ID,位图要 12.5 MB,SET 只要 30 KB。按实测每个整数成员在 SET 中约占 38 字节(304 位),活跃 ID 不到 ID 范围的 1/300 时 SET 更省内存。 -- 插入和删除只需要修改每一层前驱节点的指针,不需要旋转等操作来维护平衡; -- 范围查询方便,找到起点后沿最底层链表向后遍历即可,ZRANGEBYSCORE 就是这样实现的; -- 实现和调试更简单。 +#### 4. 与布隆过滤器的区别 -Redis 的跳跃表还在每个指针上记录了跨度,即这一步跳过了多少个节点,查找时把经过的跨度相加就得到排名,所以 ZRANK 也是 O(logN)。 +Bitmap 与布隆过滤器的区别在于映射方式:Bitmap 一个整数对应一位,结果是精确的,但成员必须能编号成范围不大的整数;布隆过滤器用多个哈希函数把任意字符串映射到位数组的多个位置,可以保存 URL、手机号这类无法编号的 Key,代价是存在误判,见 [缓存穿透](缓存.md#缓存穿透)。所以 ID 是自增整数时,可以直接用 Bitmap 记录哪些 ID 存在来拦截不存在的请求;其它 Key 需要布隆过滤器,它的位数组可以存放在 Redis 的位图中,由客户端算出各个位置后用 SETBIT 写入、GETBIT 检查。 -## 四、使用场景 +### HyperLogLog 与 GEO + +HyperLogLog(HLL)用于估计一个集合中不同元素的个数,例如页面的独立访客数(Unique Visitor, UV):PFADD 添加元素,PFCOUNT 返回估计值,PFMERGE 合并多个 HLL,例如把 7 天的 UV 合并成周 UV。 + +它不保存元素本身:每个元素的 64 位哈希值按低 14 位分到 16384 个寄存器之一,寄存器用 6 位记录剩余位中第一个 1 出现位置的最大值。连续的 0 越长的哈希值越少见,这些最大值就大致反映了不同元素的个数。寄存器共 16384 × 6 位 = 12 KB,这就是每个键占用内存的上限,标准误差为 1.04 / √16384 ≈ 0.81%。代价是结果只是估计值,也不能判断某个元素是否存在或者取出元素。 + +例如 100 万个不同的元素,PFCOUNT 返回 999674(误差 −0.03%),HLL 占 12 KB,同样的元素用 SET 保存要 30 MB;30 组各 100 万个元素的误差均方根为 0.80%,最大为 2.0%(Redis 7.4 实测,见[附录 A8](#a8-hyperloglog-的误差和内存))。 + +GEO 用于“附近的门店”这类查询:GEOADD 保存经纬度,GEOSEARCH 查找某个点一定半径或矩形内的成员并按距离排序,GEODIST 计算两点间的距离。它底层就是一个 ZSET,经纬度交错编码成 52 位的 Geohash 整数作为分值,相邻的点分值相近,查询时只需查找覆盖查询范围的 9 个区域对应的分值区间;代价是距离和范围有误差,官方文档说明最坏可达 0.5%。 + +## 三、使用场景 ### 计数器 @@ -274,13 +302,13 @@ Redis 的跳跃表还在每个指针上记录了跨度,即这一步跳过了 命令在服务器上原子执行,多个客户端同时加 1 不会丢失更新;数据在内存中,也适合这种频繁读写的场景。 -如果直接在数据库中计数,所有请求都要更新同一行,行锁让这些更新只能一个接一个地执行。对同一行执行 UPDATE counter SET cnt = cnt + 1,MySQL 用 1、8、50 个连接时每秒都只有 5000~7000 次;Redis 的 INCR 用 50 个连接每秒约 10 万次(MySQL 8.0、Redis 7.4 实测,见[附录 A7](#a7-热点计数))。 +如果直接在数据库中计数,所有请求都要更新同一行,行锁让这些更新只能一个接一个地执行。对同一行执行 UPDATE counter SET cnt = cnt + 1,MySQL 用 1、8、50 个连接时每秒都只有 5000~7000 次;Redis 的 INCR 用 50 个连接每秒约 10 万次(MySQL 8.0、Redis 7.4 实测,见[附录 A6](#a6-热点计数))。 常用的做法是在 Redis 中计数,再定期把计数写回数据库。单个计数仍然太热时,可以拆成多个键,例如 views:1024:0~views:1024:9,每次随机给其中一个加 1,读取时求和。点赞这类每个用户只能计一次的计数,还要记录点过赞的用户,见下文的 [点赞功能](#点赞功能)。 ### 缓存 -将热点数据放到内存中,设置内存的最大使用量以及淘汰策略来保证缓存的命中率,见 [缓存](缓存.md)。 +将热点数据放到内存中,设置内存的最大使用量以及淘汰策略来保证缓存的命中率。缓存与数据库的一致性,以及缓存穿透、击穿和雪崩的处理,见 [缓存](缓存.md)。 ### 查找表 @@ -326,6 +354,58 @@ ZREVRANK rank:likes article:1001 -- 第几名,从 0 开始 Set 可以实现交集、并集等操作,从而实现共同好友等功能。 +签到、日活这类只需记录“是或否”的统计可以用 Bitmap,独立访客数这类允许少量误差的去重计数可以用 HyperLogLog,见 [BITMAP](#bitmap) 和 [HyperLogLog 与 GEO](#hyperloglog-与-geo)。 + +## 四、数据结构 + +### 对象编码 + +同一种数据类型会根据元素的数量和大小选择不同的底层结构,称为编码,可以用 OBJECT ENCODING 查看。元素少时使用 listpack,它把所有元素连续地存放在一块内存中,节省内存,查找时虽然要逐个比较,但元素很少时并不慢;元素增多后转换为查找更快的结构。以下是在 Redis 7.4 上用默认配置验证的结果: + +| 类型 | 元素少时 | 超过阈值后 | 阈值 | +| --- | --- | --- | --- | +| STRING | int(整数)、embstr | raw | 44 字节 | +| LIST | listpack | quicklist(多个 listpack 组成的链表) | 单个 listpack 超过 8 KB | +| HASH | listpack | hashtable | 512 个字段,或者有值超过 64 字节 | +| SET | intset(全是整数)、listpack | hashtable | 整数 512 个,其它 128 个 | +| ZSET | listpack | skiplist(跳跃表 + 字典) | 128 个成员,或者有成员超过 64 字节 | + +例如一个 HASH 有 512 个字段时编码为 listpack,再写入一个字段就变为 hashtable。ZSET 转换后同时使用跳跃表和字典:字典按成员查分数,跳跃表按分数排序和范围查询。 + +Redis 7.0 之前用的是压缩列表(ziplist),每个元素要记录前一个元素的长度,这个长度占 1 或 5 个字节,在中间插入或删除元素时可能让后面的元素依次变长,称为连锁更新;listpack 的每个元素只记录自己的长度,避免了这个问题。 + +字符串的内容保存在简单动态字符串(Simple Dynamic String, SDS)中,它在字符数组前面记录了已用的长度 len 和分配的容量 alloc: + +- 取长度是 O(1),不用像 C 字符串那样遍历到 \0; +- 按 len 而不是 \0 判断结尾,可以保存任意二进制数据; +- 追加时空间不够才重新分配,并且多分配一些:新长度小于 1 MB 时分配新长度的 2 倍,否则多分配 1 MB,连续追加时不用每次都重新分配内存。 + +embstr 编码把对象头和 SDS 放在同一块内存中,只需分配一次,44 字节的上限正好让两者一起放进 64 字节;它是只读的,APPEND 等修改会先把它转为 raw。追加时实际分配的内存见[进阶:对象编码](Redis%20-%20进阶.md#对象编码)。 + +### 字典 + +键空间、HASH 和 SET 的 hashtable 编码、ZSET 中按成员查分数的部分,都是用字典(dict)实现的。字典是一个哈希表,用拉链法解决哈希冲突:桶的数量是 2 的幂,键的哈希值与桶数减 1 做位与得到桶的下标,落在同一个桶的键用链表连起来。 + +键越来越多时链表变长,查找变慢,需要扩大桶数组并把所有键重新放一遍,称为 rehash。Redis 用一个线程执行命令,一个有几百万个键的字典一次性 rehash 会让服务器停顿很久,所以采用渐进式 rehash:同时保留新旧两张哈希表,每次对字典增删改查时顺便迁移一个桶,把迁移的开销分摊到之后的操作中。两张表的使用规则和扩容、缩容的条件见[进阶:字典](Redis%20-%20进阶.md#字典)。 + +### 跳跃表 + +跳跃表(skiplist)是有序集合在成员较多时的底层结构,它在一条有序链表上增加了多层索引。 + +最底层是包含所有成员、按分值排序的链表。每个节点插入时随机决定层数:以 1/4 的概率升高一层,最多 32 层。所以大约每 4 个节点有 1 个出现在第 2 层,每 16 个节点有 1 个出现在第 3 层,平均每个节点约 1.33 个指针。 + +查找时从最高层开始向右走,下一个节点比目标大时下降一层,直到最底层。每层平均只走几步,查找、插入和删除的期望时间复杂度都是 O(logN)。下图演示了查找 26 的过程。 + +

+ +与红黑树等平衡树相比,跳跃表有以下优点: + +- 插入和删除只需要修改每一层前驱节点的指针,不需要旋转等操作来维护平衡; +- 范围查询方便,找到起点后沿最底层链表向后遍历即可,ZRANGEBYSCORE 就是这样实现的; +- 实现和调试更简单。 + +Redis 的跳跃表还在每个指针上记录了跨度,即这一步跳过了多少个节点,查找时把经过的跨度相加就得到排名,所以 ZRANK 也是 O(logN)。 + ## 五、Redis 与 Memcached 两者都是非关系型内存键值数据库,主要有以下不同: @@ -484,68 +564,7 @@ return n + 1 ## 十、事件 -Redis 服务器是一个事件驱动程序。 - -### 文件事件 - -服务器通过套接字与客户端或者其它服务器进行通信,文件事件就是对套接字操作的抽象。 - -Redis 基于 Reactor 模式开发了自己的网络事件处理器,使用 I/O 多路复用程序来同时监听多个套接字,并将到达的事件传送给文件事件分派器,分派器会根据套接字产生的事件类型调用相应的事件处理器。 - -

- -### 时间事件 - -服务器有一些操作需要在给定的时间点执行,时间事件是对这类定时操作的抽象。 - -时间事件又分为: - -- 定时事件:是让一段程序在指定的时间之内执行一次; -- 周期性事件:是让一段程序每隔指定时间就执行一次。 - -Redis 将所有时间事件都放在一个无序链表中,通过遍历整个链表查找出已到达的时间事件,并调用相应的事件处理器。 - -### 事件的调度与执行 - -服务器需要不断监听文件事件的套接字才能得到待处理的文件事件,但是不能一直监听,否则时间事件无法在规定的时间内执行,因此监听时间应该根据距离现在最近的时间事件来决定。 - -事件调度与执行由 aeProcessEvents 函数负责,伪代码如下: - -```python -def aeProcessEvents(): - # 获取到达时间离当前时间最接近的时间事件 - time_event = aeSearchNearestTimer() - # 计算最接近的时间事件距离到达还有多少毫秒 - remaind_ms = time_event.when - unix_ts_now() - # 如果事件已到达,那么 remaind_ms 的值可能为负数,将它设为 0 - if remaind_ms < 0: - remaind_ms = 0 - # 根据 remaind_ms 的值,创建 timeval - timeval = create_timeval_with_ms(remaind_ms) - # 阻塞并等待文件事件产生,最大阻塞时间由传入的 timeval 决定 - aeApiPoll(timeval) - # 处理所有已产生的文件事件 - processFileEvents() - # 处理所有已到达的时间事件 - processTimeEvents() -``` - -将 aeProcessEvents 函数置于一个循环里面,加上初始化和清理函数,就构成了 Redis 服务器的主函数,伪代码如下: - -```python -def main(): - # 初始化服务器 - init_server() - # 一直处理事件,直到服务器关闭为止 - while server_is_not_shutdown(): - aeProcessEvents() - # 服务器关闭,执行清理操作 - clean_server() -``` - -从事件处理的角度来看,服务器运行流程如下: - -

+Redis 服务器是一个事件驱动程序:主线程在一个循环中用 I/O 多路复用等待套接字上的读写事件(文件事件),处理完这些事件后再执行到期的定时任务(时间事件)。事件的分类和调度过程见[进阶:事件](Redis%20-%20进阶.md#十事件)。 ### 单线程为什么快 @@ -829,22 +848,7 @@ master_port:6401 NOREPLICAS Not enough good replicas to write. ``` -### A6 SDS 的空间预分配 - -Redis 7.4.1(内存分配器为 libc),启动时加 --enable-debug-command yes,用 DEBUG SDSLEN 查看值的 len、avail(剩余空间)和实际分配的内存: - -```text -SET s(50 字节) val_sds_len:50, val_sds_avail:10, val_zmalloc: 64 encoding raw -APPEND s 10 字节 val_sds_len:60, val_sds_avail:0, val_zmalloc: 64 -APPEND s 1 字节 val_sds_len:61, val_sds_avail:63, val_zmalloc: 128 -SET big(2000000 字节) val_sds_len:2000000, val_sds_avail:31606, val_zmalloc: 2031616 -APPEND big 40000 字节 val_sds_len:2040000, val_sds_avail:1072950, val_zmalloc: 3112960 -SET 44 字节 encoding embstr,SET 45 字节 encoding raw -``` - -对应的源码在 sds.c 的 _sdsMakeRoomFor():剩余空间足够时直接返回;否则新长度小于 SDS_MAX_PREALLOC(1 MB)时乘以 2,不小于时加上 1 MB。SET 50 字节时的 10 字节、SET 大字符串时的 31606 字节剩余空间来自内存分配器的取整和协议缓冲区,不是预分配。 - -### A7 热点计数 +### A6 热点计数 MySQL 8.0.44(innodb_flush_log_at_trx_commit 和 sync_binlog 都为 1),Redis 7.4.1,Apple M1 Pro。MySQL 用多个进程同时执行自动提交的 UPDATE counter SET cnt = cnt + 1 WHERE id = 1,最后核对 cnt;Redis 用 redis-benchmark 对同一个键执行 INCR: @@ -859,6 +863,94 @@ $ redis-benchmark -p 6395 -c <连接数> -n 200000 --csv incr counter:1 50 个连接 "incr counter:1","101368.47",... ``` +### A7 Bitmap 的签到和日活 + +Redis 7.4.1(内存分配器为 libc),键加了实验用的前缀,下面的输出中已去掉。内存是写入前后 INFO memory 中 used_memory 的差,服务器执行时间取自 SLOWLOG(slowlog-log-slower-than 设为 0)。 + +签到的例子先对 1~27 号中签到的日期执行 SETBIT,再执行正文中的命令: + +```text +> setbit sign:1001:202610 27 1 +0 +> setbit sign:1001:202610 27 1 +1 +> getbit sign:1001:202610 3 +0 +> bitcount sign:1001:202610 +23 +> bitpos sign:1001:202610 0 +3 +> bitfield sign:1001:202610 get u28 0 +251606975 +> strlen sign:1001:202610 +4 +> type sign:1001:202610 +string +> setbit t 0 1 之后 get t +"\x80" +> setbit t 7 1 之后 get t +"\x81" +``` + +每人每年一个键:对 10 万个键 sign:{用户 ID}:2026 各执行 SETBIT 364 1: + +```text +STRLEN 46,MEMORY USAGE 136,10 万个键 used_memory 增加 15433696,平均每个键 154 字节 +``` + +日活:用户 ID 为 1~100 万,模拟 10 月 22 日~28 日 7 天,每 10 个用户有 1 个每天都活跃,其余用户每天以 30% 的概率活跃,用 Python 集合计算的真实值核对: + +```text +active:20261028 STRLEN 125001,MEMORY USAGE 131144,7 个键 used_memory 增加 903024 +BITCOUNT active:20261028 -> 369445(真实值 369445),服务器执行 15 us +BITOP AND(7 个键) -> BITCOUNT 100184(真实值 100184),BITOP 服务器执行 84 us +BITOP OR(7 个键) -> BITCOUNT 925445(真实值 925445) +同一天的 369445 个用户 ID 用 SADD 写入 SET:used_memory 增加 14120832,编码 hashtable +``` + +用户 ID 稀疏: + +```text +SETBIT offset 100000000:客户端耗时 1.3 ms,STRLEN 12500001,used_memory 增加 12501072 +SETBIT offset 4000000000:客户端耗时 99.4 ms,STRLEN 500000001,used_memory 增加 500007296 + 对它执行 BITCOUNT:服务器执行 91777 us +SETBIT offset 4294967295:客户端耗时 74.6 ms,STRLEN 536870912,used_memory 增加 536887680 +SETBIT offset 4294967296 -> ERR bit offset is not an integer or out of range +1000 个随机 ID 分布在 1~1 亿:位图 used_memory 增加 12501056,SET 增加 30048(编码 hashtable) +``` + +### A8 HyperLogLog 的误差和内存 + +Redis 7.4.1,向一个 HLL 写入 n 个不同的字符串 user:0~user:{n − 1}: + +```text +1000 个不同元素:PFCOUNT 1007,误差 +0.70%,STRLEN 1910,MEMORY USAGE 2616 +100000 个不同元素:PFCOUNT 99471,误差 -0.53%,STRLEN 12304,MEMORY USAGE 12856 +1000000 个不同元素:PFCOUNT 999674,误差 -0.03%,STRLEN 12304,MEMORY USAGE 12856 +同样 100 万个 user:i 用 SET 保存:used_memory 增加 30080144 +``` + +元素少时 STRLEN 为 1910 字节,是稀疏编码;转为密集编码后是 12288 字节的寄存器加 16 字节的头部。再写入 30 组、每组 100 万个不同的字符串: + +```text +30 组误差(%) [1.41, 0.33, 0.19, -0.7, -0.19, -0.02, 0.84, 0.73, -1.02, -0.42, 0.59, -1.79, 0.32, -0.71, -0.48, -0.25, 0.25, 0.72, 0.57, 1.29, -0.35, 0.06, -0.17, 0.33, -0.63, 1.07, -0.37, 0.23, -1.05, -2.02] +均方根 0.80%,绝对值最大 2.02%,绝对值不超过 0.81% 的组数 22 +``` + +GEO 的键类型: + +```text +> geoadd shops 120.1551 30.2741 shop:1 120.1620 30.2799 shop:2 120.2100 30.2460 shop:3 +3 +> type shops +zset +> geosearch shops fromlonlat 120.1560 30.2750 byradius 2 km asc withdist +shop:1 +0.1321 +shop:2 +0.7932 +``` + ## 参考资料 - Carlson J L. Redis in Action [M]. Manning, 2013. @@ -871,6 +963,12 @@ $ redis-benchmark -p 6395 -c <连接数> -n 200000 --csv incr counter:1 - [Key eviction | Redis](https://redis.io/docs/latest/develop/reference/eviction/) - [EXPIRE | Redis](https://redis.io/docs/latest/commands/expire/) - [Redis Streams](https://redis.io/docs/latest/develop/data-types/streams/) +- [Redis bitmaps](https://redis.io/docs/latest/develop/data-types/strings/bitmaps/) +- [SETBIT | Redis](https://redis.io/docs/latest/commands/setbit/) +- [BITCOUNT | Redis](https://redis.io/docs/latest/commands/bitcount/) +- [BITFIELD | Redis](https://redis.io/docs/latest/commands/bitfield/) +- [HyperLogLog | Redis](https://redis.io/docs/latest/develop/data-types/probabilistic/hyperloglogs/) +- [GEOADD | Redis](https://redis.io/docs/latest/commands/geoadd/) - [Redis: Scale with Redis Cluster](https://redis.io/docs/latest/operate/oss_and_stack/management/scaling/) - [High availability with Redis Sentinel](https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel/) - [Redis replication](https://redis.io/docs/latest/operate/oss_and_stack/management/replication/) @@ -880,3 +978,4 @@ $ redis-benchmark -p 6395 -c <连接数> -n 200000 --csv incr counter:1 - [Redis 7.4.1 源码 dict.c](https://github.com/redis/redis/blob/7.4.1/src/dict.c) - [Redis 7.4.1 源码 t_zset.c](https://github.com/redis/redis/blob/7.4.1/src/t_zset.c) - [Redis 7.4.1 源码 sds.c](https://github.com/redis/redis/blob/7.4.1/src/sds.c) +- [Redis 7.4.1 源码 hyperloglog.c](https://github.com/redis/redis/blob/7.4.1/src/hyperloglog.c) diff --git a/notes/pics/redis-bitmap-sign.png b/notes/pics/redis-bitmap-sign.png new file mode 100644 index 0000000000000000000000000000000000000000..a04d344a6aecf4b4601b6e9123249b0a36f58134 GIT binary patch literal 157946 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 OD%HfWf{-mgXZShI8-lOz3A>ihd2W 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�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 L{an^LB{Ts57`E30 literal 0 HcmV?d00001