redis aof日志持久化
一、aof的原理
问题:
- 1、每个命令重写一次aof?
- 2、某个key修改100次,产生100行记录,aof文件会很大,怎么解决?
aof重写(简化)
二、aof的配置
appendfsync always #每一个命令,都立即同步到aof安全,速度慢
appendfsync everysec #折衷方案,每秒写一次
appendfsync no #写入工作交给操作系统,由操作系统判断缓冲区大小统一写到aof同步频率低,速度快
aof重写策略:
1、bgrewriteaof命令
2、aof重写配置
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增长率100%时重写
auto-aof-rewrite-min-size 64mb #aof文件,至少超过64M重写
appendonly yes #是否打开aof日志功能,默认是no,如果需要改为yes即可
no-appendfsync-on-rewrite yes #正在导出rdb快照的过程中,要不要停止同步aof
三、解释
在dump rdb过程中,aof如果停止同步,会不会丢失数据
答:不会,所有的操作换存在内存的队列里,dump rdb完成后统一操作
aof重写是指什么?
答:aof重写是指把内存中的数据,逆化成命令,写入到.aof日志里,以解决aof日志过大的问题
如果rdb文件和aof文件都存在,优先用谁来恢复数据?
答:aof
rdb和aof是否可以同时使用?
答:可以的,而且推荐这么使用
恢复时,rdb和aof哪个快?
答:rdb快,因为其是数据的内存映射,直接载入到内存中,而aof是命令,需要逐条执行
相关文章
- redis特殊功能
一、慢查询 生命周期 两点说明: (1)、慢查询发生在第三阶段 (2)、客户端超时不一定慢查询,但慢查询是客户端超时的一个因素。 两个配置 ``` (1)、slowlog-max-len
- Python之系统交互
我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell。那么我们如何通过Python来完成这些命令行指令的执行呢?另外,我们应该知道的是命令行指令的执行通常有
- redis 运维常用命令
time #查看时间戳与微妙数 dbsize #查看当前数据库中key数量 bgrewriteaof #后台进程重写aof bgsave #后台保存rdb快照 save #保存rd
- 使用宝塔面板定时任务不执行问题处理
定时任务不执行 不用宝塔自带的计划任务,因为宝塔自带的计划任务无法以www:www身份去执行任务,会导致面板无法正常写入日志 在vps中输入:crontab -e -uwww ,然后贴上 * * *
- 浏览器的同源策略
一、同源的三个条件 1、域名(二级域名与一级域名之间也算是不同源) 2、端口 3、协议 二、同源策略的意义 浏览器基于用户的隐私安全目的, 防止恶意网站窃取数据(只是浏览器有这个同源策略设置,但是
随机推荐
- redis特殊功能
一、慢查询 生命周期 两点说明: (1)、慢查询发生在第三阶段 (2)、客户端超时不一定慢查询,但慢查询是客户端超时的一个因素。 两个配置 ``` (1)、slowlog-max-len
- Python之系统交互
我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell。那么我们如何通过Python来完成这些命令行指令的执行呢?另外,我们应该知道的是命令行指令的执行通常有
- redis 运维常用命令
time #查看时间戳与微妙数 dbsize #查看当前数据库中key数量 bgrewriteaof #后台进程重写aof bgsave #后台保存rdb快照 save #保存rd
- 使用宝塔面板定时任务不执行问题处理
定时任务不执行 不用宝塔自带的计划任务,因为宝塔自带的计划任务无法以www:www身份去执行任务,会导致面板无法正常写入日志 在vps中输入:crontab -e -uwww ,然后贴上 * * *
- 浏览器的同源策略
一、同源的三个条件 1、域名(二级域名与一级域名之间也算是不同源) 2、端口 3、协议 二、同源策略的意义 浏览器基于用户的隐私安全目的, 防止恶意网站窃取数据(只是浏览器有这个同源策略设置,但是