延安有哪些做网站的公司,萌导航,台州模板建站代理,廊坊酒店网站建设前言 相关系列
《Redis 目录》#xff08;持续更新#xff09;《Redis 持久化 源码》#xff08;学习过程/多有漏误/仅作参考/不再更新#xff09;《Redis 持久化 总结》#xff08;学习总结/最新最准/持续更新#xff09;《Redis …前言 相关系列
《Redis 目录》持续更新《Redis 持久化 源码》学习过程/多有漏误/仅作参考/不再更新《Redis 持久化 总结》学习总结/最新最准/持续更新《Redis 持久化 问题》学习解答/持续更新 参考文献
《Redis的持久化详解》
Redis有哪些持久化机制各自的优缺点是什么 RDB Redis DataBase Redis数据库 RDB机制的本质是将Redis某时刻的数据保存为快照文件从而得以在Redis重启时将数据恢复至快照文件所记录的时刻…该机制的优/缺点具体如下
文件体量小RDB快照文件体量相对较小对磁盘的占用率不高数据恢复快RDB快照文件以二进制格式保存数据因此其数据恢复速度很快性能影响小RDB快照文件由子进程异步生成因此不会阻塞主进程的内存读/写。 数据完整性低RDB快照文件无法记录生成期间并发产生的数据变动因此宕机时该部分数据的会丢失文件可读性差RDB快照文件以二进制格式保存数据因此难以手动地去修改/修复数据。 AOF Append Only File 只追加文件 AOF机制的本质是在日志文件中记录Redis执行的每条写指令从而得以在Redis重启时通过重演指令以实现数据恢复…该机制的优/缺点具体如下
数据完整性高AOF日志文件会实时记录Redis执行每条写指令因此其数据完整性是接近完全的。而如果再将写回机制设置为always那么“理论上”其甚至可以不丢失数据文件可读性高AOF日志文件的会明文直接保存指令因此可以对修复/修改的手动行为支持度很高性能影响小指令由操作系统异步写入AOF日志文件因此不会阻塞主进程的内存读/写。但重写时会短暂阻塞这是因为主进程会负责新/旧AOF日志文件的替换来保证安全。 文件体量大AOF日志文件的体量会持续正大对磁盘的占用率较高数据恢复慢庞大的AOF日志文件代表着同样庞大的指令数量因此重演这些指令需要耗费相当长的时间文件易损坏AOF日志文件会持续写入因此其遭遇磁盘损坏/系统宕机等原因而同步损坏的概率也较高故而AOF机制往往要搭配RDB机制一同使用。
在RDB/AOF都开启的情况下Redis会如何恢复数据 在RDB/AOF都开启的情况下Redis启动时会优先使用AOF日志文件恢复数据因为其数据完整性理论上会高于RDB快照文件。
如何为Redis选择最合适的持久化机制 对于单纯将Redis作为缓存使用的程序而言通常不需要开启持久化机制而对于数据完整性要求不高即可以接受分钟级别数据丢失的程序而言一般只需开启RDB机制即可而对于数据完整性较高的程序而言通常会同时开启RDBAOF机制这其中RDB机制是作为AOF机制失效是的备用手段存在的因为AOF日志文件在持续写入的过程中有较大的概率出现损坏。此外如果对数据完整性的要求极高那么还推荐将AOF机制的写回机制设置为always这样Redis在宕机时丢失的数据可以达到最少甚至有较大概率不丢失数据。