Redis 持久化:RDB、AOF 的设计动机与源码证据
1 问题背景:内存数据库的持久化困境 Redis 的性能来自一个简单前提:数据在内存里,读写路径极短。但内存是 volatile 的——进程崩溃、机器断电、容器被强杀,内存中的键值空间会在毫秒级消失。持久化要回答的是:如何在尽量不打折在线性能的前提下,把内存状态映射到磁盘,并在重 …
继续阅读标签
共 4 篇
1 问题背景:内存数据库的持久化困境 Redis 的性能来自一个简单前提:数据在内存里,读写路径极短。但内存是 volatile 的——进程崩溃、机器断电、容器被强杀,内存中的键值空间会在毫秒级消失。持久化要回答的是:如何在尽量不打折在线性能的前提下,把内存状态映射到磁盘,并在重 …
继续阅读1 问题背景 Redis 以内存存储和极低延迟著称,单机往往要同时承载成千上万条 TCP 连接。一个自然的工程问题是:为什么不采用「每个连接一个线程」的模型? 传统的一线程一连接方案,在连接数上升后会带来明显的线程切换和锁竞争成本。Redis 选择了另一条路:用少量线程配合 …
继续阅读很多人第一次用 Redisson 分布式锁,都会看到一句话:默认有看门狗机制,会自动续期。 这句话听起来很简单,但源码里真正有意思的是:Redisson 到底什么时候开启看门狗?它多久续一次?如果业务线程挂了,它又怎么保证锁最终能释放? 今天我们就顺着 RedissonLock …
继续阅读分布式锁是一种跨进程的互斥同步机制,核心目标是在分布式环境下保障同一时刻仅有一个节点可以访问共享资源。 本文先梳理分布式锁的通用设计准则和三种主流基础设施方案,再以 Redisson 为主线,逐层拆解其 Lua 原子化、可重入、看门狗续期、发布订阅唤醒和 RedLock 的实现逻 …
继续阅读