Spring Boot 中使用 Redis 实现分布式锁
通过 SET NX PX 和 Lua 脚本自己实现分布式锁,使用 Redisson 的 watchdog 机制,使用 Testcontainers 编写测试,以及避免常见错误。
通过 SET NX PX 和 Lua 脚本自己实现分布式锁,使用 Redisson 的 watchdog 机制,使用 Testcontainers 编写测试,以及避免常见错误。
通过 Redisson 在 Redis 上使用 Bloom 过滤器,阻止对不存在 key 的查询请求,防止它们穿透缓存并打到数据库。
使用 Spring Boot 3 中的 Redis Streams 和消费者组处理 at-least-once 事件,支持手动 ACK、重试待处理消息和死信队列。
使用 redis-cli、MEMORY USAGE、OBJECT FREQ 识别 Redis 中的 hot key 和 big key,以及通过 key sharding、UNLINK、本地缓存、key 复制等方式处理它们。
了解 Redis 如何通过 RDB 和 AOF 将数据写入磁盘、如何配置这些模式,以及识别即使启用了持久化也可能丢失数据的场景。
对比Redis与Spring Boot 3三种常见缓存策略:实现方法、优缺点、常见错误以及各自的适用场景。
了解Redlock算法,用Jedis自己实现,用Testcontainers编写测试,理解为什么Martin Kleppmann认为它不安全。
如何在Spring Boot中应用cache-aside模式,实现commit后删除缓存、处理竞态条件,以及使用Testcontainers进行测试。
使用 Redis Geo(GEOADD、GEOSEARCH)和 Spring Data Redis 存储坐标,找到离用户最近的店铺并计算距离。
在机票预订系统中用 Redis SET NX PX 暂时锁定座位:原子性锁、自动过期、使用 Lua 安全释放、包含 Spring Boot 3 示例和测试
使用 Redis 有序集合与 Spring Boot 3 实现排行榜、优先级队列/延迟队列和滑动窗口 rate limiter。包含可运行的代码和测试。
比较 Redis Pub/Sub 和 Redis Streams,附带具体的 Java 代码示例,帮助你为系统选择正确的模式。
了解如何配置 TTL、Redis 的 eviction 机制,以及当多个请求同时 miss 缓存时如何防止 cache stampede。
汇总Redis主要数据类型(String、Hash、List、Set、Sorted Set),包含Java示例和实际应用场景。
使用 Redis 和 Lua 脚本构建速率限制器的指南,应用于 Spring Boot API,包含 Testcontainers 测试示例。