今天阳光很暖
Redis 系列 16. 底层数据结构:redisObject、SDS、QuickList、ListPack 与跳表 Redis 系列 16. 底层数据结构:redisObject、SDS、QuickList、ListPack 与跳表
1. 为什么要看底层结构Redis 对外暴露的是 String、Hash、List、Set、ZSet 这些数据类型,但底层编码会根据数据规模和内容变化。 比如同样是 String,底层可能是 int、embstr、raw。同样是 Hash,
2024-12-24
Redis 系列 15. Redisson 与 RedLock Redis 系列 15. Redisson 与 RedLock
1. 为什么要讲 Redisson上一篇手写了 Redis 分布式锁,但生产项目里不建议每个团队都维护一套锁实现。分布式锁实现涉及多种工程边界问题,关键复杂度来自锁语义与异常边界处理,比如可重入、续期、释放校验、异常恢复、等待队列、主从切换
2024-12-18
Redis 系列 14. 手写 Redis 分布式锁 Redis 系列 14. 手写 Redis 分布式锁
1. 分布式锁要解决什么单机应用里可以用 synchronized、ReentrantLock。但服务部署成多个实例后,本地锁只能管住当前 JVM,管不住其他机器。 典型场景: 防止重复提交。 控制定时任务只有一个实例执行。 秒杀库存扣减
2024-12-12
Redis 系列 13. 缓存预热、雪崩、穿透、击穿治理 Redis 系列 13. 缓存预热、雪崩、穿透、击穿治理
1. 四个概念先分清缓存异常治理里有几个高频词:预热、雪崩、穿透、击穿。先放一张表。 问题 含义 典型后果 缓存预热 系统启动或活动前提前加载热点数据 避免冷启动大量打 DB 缓存雪崩 大量 key 同时失效,或 Redis
2024-12-05
Redis 系列 12. 布隆过滤器原理与 Redis 落地 Redis 系列 12. 布隆过滤器原理与 Redis 落地
1. 布隆过滤器解决什么问题缓存穿透的典型场景是:请求的 key 在 Redis 没有,在 MySQL 也没有。攻击者如果不断请求不存在的 ID,请求就会绕过缓存打到数据库。 布隆过滤器可以在请求进入缓存和数据库之前先做一次判断: 请求 u
2024-11-28
Redis 系列 11. Bitmap、HyperLogLog、GEO 实战 Redis 系列 11. Bitmap、HyperLogLog、GEO 实战
1. 这三种结构解决什么问题Redis 除了五大基础类型,还有几个非常适合做统计和位置计算的结构:Bitmap、HyperLogLog、GEO。 结构 适合场景 关键特点 Bitmap 签到、活跃标记、布尔状态 用 bit 表示
2024-11-21
Redis 系列 10. 缓存双写一致性与 Canal 落地 Redis 系列 10. 缓存双写一致性与 Canal 落地
1. 先说结论Redis 和 MySQL 做缓存双写时,不存在成本可控的强一致缓存方案。工程上常用的是最终一致性: MySQL 是准确信息源。 Redis 是派生出来的缓存,可以理解为基于 MySQL 数据构建的 materialized
2024-11-15
Redis 系列 9. 内存治理:MoreKey、BigKey、过期删除与淘汰策略 Redis 系列 9. 内存治理:MoreKey、BigKey、过期删除与淘汰策略
1. 先区分 MoreKey 和 BigKeyRedis 内存问题里最容易混在一起的是 MoreKey 和 BigKey。 问题 含义 典型风险 MoreKey key 数量很多 全库扫描慢、字典 rehash 成本高、过期字典
2024-11-08
Redis 系列 8. 高性能模型:单线程、多线程与 I/O 多路复用 Redis 系列 8. 高性能模型:单线程、多线程与 I/O 多路复用
1. 先拆解核心问题Redis 高性能模型经常被问成一句话:Redis 为什么这么快?是不是单线程?Redis 6 以后是不是多线程? 这个问题不能只回答“Redis 是单线程”。准确说法是: 问题 准确回答 Redis 命令执
2024-11-02
Redis 系列 7. Cluster 集群分片与 Spring Boot 接入 Redis 系列 7. Cluster 集群分片与 Spring Boot 接入
1. 为什么需要 Redis Cluster前面已经讲过主从复制和 Sentinel。主从复制解决数据副本问题,Sentinel 解决 master 故障后的自动切换问题。 但它们还有一个核心限制:一个 master 仍然要承载整个数据集。
2024-10-29
Redis 系列 6. Sentinel 哨兵高可用机制 Redis 系列 6. Sentinel 哨兵高可用机制
1. Sentinel 是什么上一篇讲了 Redis 主从复制。普通主从有一个明显问题:master 宕机后,replica 不会自动升级为新 master。 Redis Sentinel 是 Redis 的分布式监控与故障转移系统。它持续
2024-10-22
Redis 系列 5. 主从复制原理与实践 Redis 系列 5. 主从复制原理与实践
1. 主从复制是什么Redis 主从复制指的是:一台 Redis 作为 master,其他 Redis 实例作为 replica,从 master 同步数据。 在旧资料里经常看到 master/slave、slaveof 这些说法
2024-10-14
1 / 2