天空闲话 发表于 2024-6-26 06:16:56

Java面试题:Redis持久化题目

Redis持久化题目

RDB (Redis Database Backup File)

Redis数据快照

将内存中的全部数据都记载到磁盘中做快照
当Redis实例故障重启时,从磁盘读取快照文件恢复数据
使用
save/bgsave
命令举行手动快照
save使用主历程执行RDB,对全部命令都举行壅闭
bgsave使用子历程执行RDB不会壅闭
在设置文件中可以设置触发RDB的机制
以save [时间] [修改key次数] 的格式设置
RDB的执行原理

Redis主历程在虚拟内存中生成记载虚拟地点和物理地点映射关系的页表
bgsave开始时fork主历程得到子历程,子历程复制了主历程的页表数据
子历程根据页表的映射对内存数据写入RDB文件
fork底层使用copy-on-write技能
每次写数据时先拷贝一份数据,读数据时从拷贝数据中读取,避免脏数据
AOF(Append Only File)

记载Redis处置惩罚的每一个写命令(命令日记文件)
通过修改设置文件
appendonly yes
开启AOF
同时可以通过设置文件来修改AOF记载的频率
分为
always/everysec(默认)/no
https://img-blog.csdnimg.cn/direct/e037bb9b5dac42a39604386adbbbc926.png
AOF文件会远大于RDB文件,因为是记载命令而且会记载对同一个key的多次写利用

我们可以执行bgrewrite命令来让AOF执行重写功能来只记载最后一次写利用
可以在设置文件中对触发阈值举行设置
auto-aof-rewrite-percentage 100//根据增长百分比进行触发

auto-aof-rewrite-min-size 64mb//根据设置文件大小上限进行触发
RDB和AOF的对比

https://img-blog.csdnimg.cn/direct/44d3c6a059124ab18b0bab3b1dced42f.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Java面试题:Redis持久化题目