1-1 Redis 的 RDB 持久化方案,其实就是同时使用 RDB 和 AOF 两种持久化方式。RDB 会把 Redis 中的数据定时保存到磁盘上,AOF 则会把 Redis 执行的每一条命令记录下来,也保存到磁盘上。这样,即使 Redis 服务器宕机了,也可以从磁盘上恢复数据。
2-1 RDB 的原理很简单,就是在指定的时间间隔内,把 Redis 内存中的数据快照保存到磁盘上。AOF 的原理稍微复杂一点,它会在 Redis 执行每一条命令之后,把命令记录到一个日志文件里。这样,当 Redis 重启的时候,就可以通过回放日志文件里的命令,来恢复数据。
3-1 Redis 4.0 版本之后推出的混合持久化方案。它结合了 RDB 和 AOF 的优点,可以更快地恢复数据,而且占用的磁盘空间也更少。
混合持久化方案的实现原理,其实就是在 AOF 文件中,记录 RDB 文件的生成过程。这样,在 Redis 重启的时候,就可以先加载 RDB 文件,然后再重放 AOF 文件中的增量命令,来恢复数据。
要开启混合持久化,只需要在 Redis 的配置文件中,把 aof-use-rdb-preamble 选项设置为 yes 就可以了。
3-2 在 Redis 4.0 之前,RDB 和 AOF 的持久化配置是分开的。要配置 RDB,可以在配置文件中设置 save 参数,来指定触发 RDB 快照的条件。要配置 AOF,可以在配置文件中设置 appendonly 参数,来开启或关闭 AOF 功能。还可以设置 appendfsync 参数,来控制 AOF 文件的同步策略。
在Redis 4.0 以后,RDB 并不是默认的持久化方式。默认情况下,Redis 会使用混合持久化方案,也就是同时使用 RDB 和 AOF 两种持久化方式。不过,如果你只想使用 RDB 持久化,也可以在配置文件中把 aof-use-rdb-preamble 参数设置为 no,这样 Redis 就只会使用 RDB 持久化了。
3-3 在 Redis 中,持久化的数据默认是保存在 Redis 服务器的本地文件系统中的。具体来说,RDB 文件的默认位置是 Redis 安装目录下的 dump.rdb,AOF 文件的默认位置是 Redis 安装目录下的 appendonly.aof。你可以通过 Redis 的配置文件来修改这些文件的位置。
4-1 要搭建 Redis 集群,你需要至少有三个 Redis 节点。然后,你可以按照以下步骤来进行操作:
1. 在每个 Redis 节点上,修改 Redis 的配置文件,开启集群模式。
2. 启动每个 Redis 节点。
3. 使用 Redis 客户端连接到任意一个 Redis 节点,执行 cluster meet 命令,来让这个节点认识其他节点。
4. 执行 cluster nodes 命令,查看集群的状态。
这样,你就成功搭建了一个 Redis 集群。不过,这只是一个简单的方案,具体的搭建过程可能会因为你的环境和需求而有所不同。如果你需要更详细的信息,可以参考 Redis 的官方文档。
附:Redis 中文官方社区的地址是:http://redis.cn/。在这里,你可以找到 Redis 的中文文档、教程、问答、论坛等等