Redis持久化方案
注意:博主是在linux环境下进行的操作,windows环境下有一些小区别,但是主要操作是一致的
redis的持久化方案是在redis.conf文件中配置的,其分为两种:RDB持久化和AOF持久化
RDB 持久化
满足特定条件做快照(存储在redis.conf文件中配置的文件下)
存储文件配置:
其中:
文件名是dbfilename的值(dump.rdb)
路径是dir的值(搜索not a file name)
RDB默认设置的特定条件:
解释:save 300 10 (300秒内 有10次操作则做快照)
AOF 持久化
与RDB不同,AOF持久化的实现是操作一次保存一次,因此在读写大量数据时效率明显低于RDB。
开启AOF持久化
一般默认的持久化方案是RDB,若想要使用AOF持久化,就需要在redis.conf中修改appendonly的值为yes:
appendonly yes
存储文件配置:
文件名是appendfilename的值(appendonly.aof)
路径是dir的值(搜索not a file name)
修改路径或文件名之后要重启服务器
redis.cli shutdown
redis-server redis.conf
redis.cli
主从配置
将一个主redis的数据发生变化时,同时存在从redis中,若主redis出错,在从redis中拿取数据进恢复。
从机配置
- 复制一个redis,(linux端使用cp bin/ bin2 -r进行复制)
- 修改从服务器中redis.conf中的ip和port,找到slaveof,配置slaveof为主机的ip地址和端口号,例如:
slaveof 127.0.0.1 6379
- 修改从机中的port,找到port 6379修改端口号,例如:
port 6380
- 清除从机中的持久化文件(dump.rdb/appendonly.aof)
- 启动从机