redis的RDB和AOF两种持久化机制优缺点分析

redis的RDB和AOF两种持久化机制优缺点分析,第1张

redis持久化的意义主要是为了做 灾难恢复、数据恢复 其实可以把它归类到高可用的一个环节。

RDB持久化机制,对redis中的 数据 执行周期性的持久化。

AOF机制对 每条写入命令 作为日志,以append-only的模式写入一个日志文件,在redis重启对时候,可以通过回放AOF日志中写入的指令来重新构建整个的数据集。

如果同时使用AOF和RDB两种持久化机制 ,那么在redis重启的时候,会使用AOF来重新构建数据,因为AOF中的数据更加的完整。

优点:

(1)RDB会生成多个数据文件,每个数据文件都代表了某一个时刻中redis的数据,这种多个数据文件的方式,非常适合做冷备。可以将文件存储到云端,本地磁盘等等。

(2)RDB机制对redis对外提供读写服务时候的影响非常小,可以让redis保持高性能,因为redis主进程只需要fork一个子进程,让子进程执行磁盘IO *** 作来进行RDB的持久化即可。

(3)相对于AOF持久化机制来说,直接基于RDB数据文件来重启和恢复redis进程,更加的快速。

缺点:

(1)如果想让redis出现故障,尽可能的少丢失数据戚蔽坦,那么RDB没有AOF好。因为一般来说,RDB数据快照文件,基本上都是每隔5分钟或者更长的时间,生成一次,这个时候,如果一旦发生宕机,那么就会把这段时间内的数据都丢失掉。

(2)RDB每次在fork子进程来执行RDB快照数据文件生成的时候,如果数据文件特别大,可能会导致对客户端提供的服务暂停数毫秒,或者甚至数秒。

优点:

(1)AOF可以更好的保护数据不丢失,一般AOF会每隔1秒,通过一个后台线程执行fsync *** 作,最多丢失1秒钟的数据。

(2)AOF日志文件以append-only模式写入,所以没有任何磁盘寻址的开销,写入性能非常高,而且文件不容易受损,即使文件尾部受损,也能很容易恢复,打开文件,把后面损坏的数据删除即可。

(3)AOF日志文件即使过大的时候,出现后台重写 *** 作,也不会影响客户端的读写。因为在rewrite log 的时候,会对其中的指令进行压缩,创建出一份需要恢复数据对并渣最小日志出来,再创建新日志文件的时候,老日志文件还是会照常写入指令,当新的日志文件生成好之后,会将旧日志文件中后面写入的指令合并到新的日志文件中,这个新的merge后的日志文件,会在ready的时候,与旧的日志文件进行交换。之后就会把旧的日志文件删除掉。

(4)AOF文件中保存的是执行的指令,所以这个特性非常适高桐合做灾难性的误 *** 作紧急恢复。比如某人不小心用flushall命令清空了所有数据,只要这个时候后台rewrite还没有发生,那么久可以立即拷贝这个AOF文件出来,将最后一条flushall命令删除,然后再将AOF文件放回去,就可以通过恢复机制,自动的恢复所有数据了。

缺点:

(1)对于同一份数据来说,AOF的日志文件通常要比RDB的数据快照文件要大。

(2)AOF开启之后,Redis服务支持的写QPS会比RDB支持的写QPS低,因为AOF一般会配置成每秒fsync一次日志文件,当然每秒一次fsync的性能也还是很高的。

(3)以前的AOF发生过bug,就是通过AOF记录的日志,进行数据恢复的时候,没有恢复一模一样的数据出来,所以说,类似AOF这种较为复杂的基于命令日志/merge/回放的方式,比基于RDB每次持久化一份完整数据快照文件的方式,更加脆弱一些,容易有bug。不过AOF为了避免rewrite过程导致的bug,因此每次rewrite并不是基于旧的指令日志进行merge,而是基于当时内存中的数据进行指令的重新构建,这样健壮性能更好一些。

综合使用两者,用AOF来保证数据尽可能的少丢失,作为第一选择,其次在AOP丢失或者损坏的情况下,用RDB来更加快速的恢复数据。

Redis有三种类型的落地文件:

数据扒知文件-在配置中可设置其位置及文件名知掘,默认文件名dump.rdb

日志文件-在配置中也可搭此核以配置.当然,在你是以daemon方式运行的时候,这个值就不要设置为stdout了,这么设置会自动被换成/dev/null

楼主,你遇到的问题是文件被ADEL公司出品的QQ指纹密码仪加密了。

ADEL这款指纹仪具有电脑派巧系统指纹登录(不用记密码和担心密码被人偷看去)、文件及文件夹指纹加密等功能。

你表哥的电脑上肯定装了ADEL公司的这款指纹仪,可能你表哥这些文件比较重要,不希望别人看到。所以用这种指纹仪对“工作汇报.doc”,“官场感想.pdf”等文件加密。通过这种指纹仪加密后,文件名后就会增加了.afo这样的后辍。加密后的文件即使是被人复制到别的电脑,以及本电脑系统重装等都不会丢失和破解。这种密码不是普通的数字和字母,密钥是使用者的指纹,所以无法破解,除非用原指纹解密。

同时,由于你说“没有图标也打不开”,估计是目前这台电脑上的系统被重装过,或者是加密程序本身曾被卸载了,只留下指纹加密后的文件,而无法读取。

如果一定要读取,可找到这个指纹仪(或者买一个同型号的),重新安装指纹加密程序州羡坦,就可以看到文件图标,双击或者点右键指纹解密,就会提醒输入验证指纹。找你表哥输入原册桐来的指纹,正确即可解密。

否则这个文件,就只有你表哥自己能使用了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12147646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存