
Redis ZSet延迟队列系统设计:从原理到生产级实现与容灾方案
延迟队列(Delay Queue)是分布式系统中极为常见的基础设施。无论是订单超时取消、消息定时推送、重试退避调度,还是限流令牌发放,核心诉求都一样:把一个任务延迟到指定时间点后再执行。市面上有 RabbitMQ 死信队列、Kafka 时间...

延迟队列(Delay Queue)是分布式系统中极为常见的基础设施。无论是订单超时取消、消息定时推送、重试退避调度,还是限流令牌发放,核心诉求都一样:把一个任务延迟到指定时间点后再执行。市面上有 RabbitMQ 死信队列、Kafka 时间...

引言:MySQL 8.0为何移除查询缓存 MySQL 8.0 做出了一个具有深远影响的决定:彻底移除自 MySQL 3.23 起就存在的查询缓存(Query Cache)。对于许多长期使用 MySQL 的开发者来说,这个改动令人困惑——一个...
在高并发 Web 应用中,同步处理耗时任务会严重拖慢响应速度。发送邮件、生成报表、处理视频转码——这些操作动辄耗时数秒甚至数分钟,如果在用户请求中同步执行,必然导致请求超时和用户体验下降。消息队列是解决这一问题的核心架构模式,它将任务从请求...

引言:为什么需要Redis事务与Pipeline 在高并发场景中,我们经常需要将多个Redis命令作为一个逻辑单元执行:要么全部成功,要么全部失败。同时,网络往返延迟(RTT)往往是Redis性能的最大瓶颈——每次命令都需要一次客户端到服务...

在现代分布式系统中,实时消息传递是不可或缺的基础能力。Redis作为一款高性能的内存数据库,不仅提供了经典的发布订阅(Pub/Sub)模式用于进程间通信,还通过键空间通知(Keyspace Notifications)机制实现了数据变更的实...
为什么需要Redis Lua脚本 在日常的Redis开发中,我们经常遇到需要执行多个命令且保证原子性的场景。比如限流器需要先读取计数器、判断是否超限、再递增计数器——这三步必须在同一个原子操作中完成,否则并发请求可能导致超限。虽然Redis...

引言:为什么Redis高可用如此重要 Redis作为当下最流行的内存数据库之一,凭借其单线程模型、丰富的数据结构和亚毫秒级响应,成为构建高性能缓存、排行榜、消息队列和会话存储的首选方案。然而,单机Redis在面对生产环境的可用性需求时存在明...
Redis 5.0 引入的 Stream 数据结构,是 Redis 作者 antirez 在多年观察各类消息中间件使用模式后,为 Redis 量身打造的原生消息队列实现。与早期依赖 List、Pub/Sub 或第三方组件拼凑出来的̶...

引言:为什么需要主从复制与哨兵机制? Redis 作为当今最流行的键值存储系统,凭借其极致的性能(单机 QPS 可达 10 万+)和丰富的数据结构,已经成为现代互联网架构中不可或缺的基础组件。然而,在绝大多数生产场景中,单一 Redis 实...

Redis Cluster 是 Redis 官方提供的分布式集群解决方案,自 Redis 3.0 版本正式推出以来,已经成为生产环境中大规模 Redis 部署的主流选择。与传统的代理分片方案(如 Twemproxy、Codis)不同,Red...