zoukankan      html  css  js  c++  java
  • 细说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是全量更新的,所以丢失数据的间隔很大。

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

  • 相关阅读:
    python socket文件传输实现
    python 进程与线程(理论部分)
    python函数-基础篇
    python变量、注释、程序交互、格式化输入、基本运算符
    python基础数据篇
    python基础之从认识python到python的使用
    判断素数
    辗转相除法
    你了解gets()和scanf()吗
    密码破译
  • 原文地址:https://www.cnblogs.com/alunchen/p/9836187.html
Copyright © 2011-2022 走看看