redis 笔记

redis 小林 redis AOF持久化 在 redis.conf 配置文件中的 appendfsync 配置项可以有以下 3 种参数可填: Always,这个单词的意思是「总是」,所以它的意思是每次写操作命令执行完后,同步将 AOF 日志数据写回硬盘; Everysec,这个单词的意思是「每秒」,所以它的意思是每次写操作命令执行完后,先将命令写入到 AOF 文件的内核缓冲区,然后每隔一秒将缓冲区里的内容写回到硬盘; No,意味着不由 Redis 控制写回硬盘的时机,转交给操作系统控制写回的时机,也就是每次写操作命令执行完后,先将命令写入到 AOF 文件的内核缓冲区,再由操作系统决定何时将缓冲区内容写回硬盘。 AOF 重写机制 Redis 为了避免 AOF 文件越写越大,提供了 AOF 重写机制,当 AOF 文件的大小超过所设定的阈值后,Redis 就会启用 AOF 重写机制,来压缩 AOF 文件。 也就是合并写命令 AOF 后台重写 Redis 的重写 AOF 过程是由后台子进程 *bgrewriteaof* 来完成的 RDB 快照 AOF 文件的内容是操作命令; RDB 文件的内容是二进制数据。 Redis 提供了两个命令来生成 RDB 文件,分别是 save 和 bgsave。他们的区别就在于是否在「主线程」里执行。 RDB 服务器启动时自动执行的。 Redis 还可以通过配置文件的选项来实现每隔一段时间自动执行一次 bgsave 命令,配置: save 900 1 //900秒1次 save 300 10 //300秒10次 save 60 10000 //60秒10000次 bgsave 快照过程中,如果主线程修改了共享数据,发生了写时复制后,RDB快照保存的是原本的内存数据 ...

2025年08月20日