码迷,mamicode.com
首页 > 其他好文 > 详细

redis 持久化

时间:2020-06-20 01:22:31      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:only   存储   sha   灾备   文件的   修改   最大   文件中   持久化   

1.俩种持久化机制

持久化将数据从内存中持久化到硬盘空间。防止服务器宕机时候,存储在内存中的数据丢失

快照rdb:持久化文件 dump.rdb 默认
aof:持久化文件:appendonly.aof

redis 中配置存储文件的路径:配置文件中

dbfilename dump.rdb
appendonlyfilename appendonly.aof
dir /var/lib/redis

目前默认rdb 开启 aof 关闭。可以使用命令行热修改切换持久化方式

config set appendonly yes

然后退出 shutdown, 修改redis.conf 中 appendonly 为 yes。重启redis

如何退出:
正常停用退出:redis-cli: shutdown, 会将数据持久化到硬盘文件
非正常退出:.kill 9 退出, 不会持久化
如果是已经运行的程序中修改持久化的方式,一定要用命令行热修改方式,它会将数据以新的方式保存下来。保证数据不会丢失。

2. rdb 持久化 = 快照

rdb 持久化能够在指定的时间间隔对数据进行快照存储,保存了某个时间点的数据集,适合用户数据备份,适合灾备。数据文件方便进行传输以及恢复。fork子进程将数据保存到硬盘中。父进程不用做io操作。最大化redis的性能

缺点:(1) 宕机情况下,数据恢复可能不完整
(2) 如果在备份数据时候,数据量足够大。主进程fork子进程的过程很耗时,可能会导致 、 redis在一些毫秒级内不能响应客户端的请求。

设置自动保存的操作:可以设置多个

save 60 100 // 60 秒内至少有100个操作

手动保存:
bgsave 后台备份

不明白的地方怎么配置每小时备份过去24小时的数据???

3.aof 的持久化

aof 持久化 记录每次对服务器的写操作。aof 命令以redis协议最佳保存每次的的操作到文件末尾

优点:(1) 数据的完整性比rdb好
(2) aof 可以在数据文件太大的时候,自动的对aof文件进行重写,重写后的新的aof包含了
恢复当前数据集所需的最小的命令集合。重写时候是安全的。
(3) aof 文件保存了所有数据的写操作。假设执行了 flushall 命令,只要aof文件未被重
写。修改文件移除末尾flushall 命令

redis 持久化

标签:only   存储   sha   灾备   文件的   修改   最大   文件中   持久化   

原文地址:https://www.cnblogs.com/luofc/p/13166916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!