zoukankan      html  css  js  c++  java
  • 《Redis内存数据库》Redis持久化实现方式和原理

    前言

    redis 的一大特点就是持久化。

    原理

    RDB 持久化 :根据快照实现

    优点:速度快,适合备份,主从复制也是基于此。新快照会覆盖上一次快照。

    缺点:因为是快照,所以会存在数据丢失。

    AOF 持久化:记录全部操作实现

    优点:能够最大程度的保证数据不丢。

    缺点:日志量大。

    参数说明:

    RDB 持久化  需要用到的参数为:

    dir /home/redis/data          -- 文件路径
    dbfilename dump.rdb         -- 文件名

    登录Redis 执行命令:

    save         -- 保存当前数据快照

    或者

    redis-cli -a 123456 save     -- 直接执行

    设置自动持久化

    save 900 1            --  900秒有一个变化,保存一次快照
    save 300 10          --  300秒有十个变化,保存一次快照
    save 60 10000       --  60秒有万个变化,保存一次快照

    AOF 持久化  需要用到的参数为:

    appendonly no               -- 是否开启AOF持久化 yes 表示开启
    appendfsync everysec     --always : 每次操作都记录日志, everysec: 表示每秒执行一次记录日志。no:表示由系统自行刷新。
    appendfilename "appendonly.aof" -- AOF持久化日志的文件名

    就可以正常看到持久化数据文件了。

    这个数据文件在Redis重启之后,可以重新加载回Redis缓存。

    额外说明:

    SAVE: 前台,阻塞线程,影响redis正常写入。

    BGSAVE:后台,开启子线程执行。

    总结

    RDB 持久化 :根据快照实现

    优点:速度快,适合备份,主从复制也是基于此。新快照会覆盖上一次快照。

    缺点:因为是快照,所以会存在数据丢失。

    AOF 持久化:记录全部操作实现

    优点:能够最大程度的保证数据不丢。

    缺点:日志量大。

  • 相关阅读:
    OSGI概念理解和入门
    东莞工厂探访
    软件开发经验之谈
    参加2019华为软件精英挑战赛心得
    论python中的函数参数的传递问题。
    pyhton中常用的基础模块
    程序编译
    hadoop源码学习(二)之ZooKeeper
    我用linux系统的采坑记
    macos解决Hadoop之Unable to load native-hadoop library
  • 原文地址:https://www.cnblogs.com/jssj/p/13658720.html
Copyright © 2011-2022 走看看