细说Redis(二)之 Redis的持久化

原文: 细说Redis(二)之 Redis的持久化

前言

    在上一篇文章【细说Redis(一)之 Redis的数据结构与应用场景】中,主要介绍了Reids的数据结构。

    对于redis的执行命令,这里不做介绍,因为网上搜索一堆,无必要再做介绍。

AOF&RDB

    Redis的有两种持久化,分别是AOF、RDB。

    AOF是文件增量存储。RDB是文件快照。AOF是存储的是redis的每个步骤增删改的命令。

区别

Snipaste_2018-10-23_13-42-33

    在Redis内部机制来说,RDB模式首先产生一个子进程,调用fork()。然后用子线程写到一个临时的RDB文件,最后把这个临时的RDB文件替换正在运行的RDB文件。

    AOF模式是所有增改写的命令都追加到文件的末尾,这样的好处是你恢复数据方式多样。例如有一种黑科技,有人不小心flush掉一个db的数据了,可以把aof文件复制出来,并且把相应的flush命令去掉,重启redis并且更新aof文件就可以还原原来数据了。

应用场景

    1.需要使用持久化、丢失数据比较敏感的场景,使用AOF模式。也可使用AOF+RDB的模式。因为AOF是增量的,保存你最近的操作,每当有数据操作,都会保存到AOF文件中。

       可以每秒钟进行AOF增量设置,这样你最多丢失一秒钟的数据。

    2.如果redis持久化要求不那么严格,并且希望redis一最快的速度运行。则可以使用RDB模式即可。因为RDB是可是设置“xxx秒后最少n个key有变动,进行保存”。RDB是全量更新的,所以丢失数据的间隔很大。

可以关注本人的公众号,多年经验的原创文章共享给大家。

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/10217621.html