zoukankan      html  css  js  c++  java
  • redis数据持久化(快照/日志):

    1.RDB快照的配置选项:

    save 900 1      // 900内,有1条写入,则产生快照 
    save 300 1000   // 如果300秒内有1000次写入,则产生快照
    save 60 10000  // 如果60秒内有10000次写入,则产生快照
    (这3个选项都屏蔽,则rdb禁用)
    stop-writes-on-bgsave-error yes  // 后台备份进程出错时,主进程停不停止写入?
    rdbcompression yes    // 导出的rdb文件是否压缩
    Rdbchecksum   yes //  导入rbd恢复时数据时,要不要检验rdb的完整性
    dbfilename dump.rdb  //导出来的rdb文件名
    dir ./  //rdb的放置路径

    2.AOF的配置:

    appendonly no # 是否打开 aof日志功能
    
    appendfsync always   # 每1个命令,都立即同步到aof. 安全,速度慢
    appendfsync everysec # 折衷方案,每秒写1次
    appendfsync no      # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快,
    
    
    no-appendfsync-on-rewrite  yes: # 正在导出rdb快照的过程中,要不要停止同步aof
    auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增长率100%时,重写
    auto-aof-rewrite-min-size 64mb #aof文件,至少超过64M时,重写
    
    
    注: 在dump rdb过程中,aof如果停止同步,会不会丢失?
    答: 不会,所有的操作缓存在内存的队列里, dump完成后,统一操作.
    
    注: aof重写是指什么?
    答: aof重写是指把内存中的数据,逆化成命令,写入到.aof日志里.
    以解决 aof日志过大的问题.
    
    问: 如果rdb文件,和aof文件都存在,优先用谁来恢复数据?
    答: aof
    
    问: 2种是否可以同时用?
    答: 可以,而且推荐这么做
    
    问: 恢复时rdb和aof哪个恢复的快
    答: rdb快,因为其是数据的内存映射,直接载入到内存,而aof是命令,需要逐条执行
    
    redis的持久化命令:
    BGREWRITEAOF 后台进程重写AOF
    BGSAVE       后台保存rdb快照
    SAVE         保存rdb快照
    LASTSAVE     上次保存时间
    
    Slaveof master-Host port  , 把当前实例设为master的slave
    
    Flushall  清空所有库所有键 
    Flushdb  清空当前库所有键
    Showdown [save/nosave]
    
    
    注: 如果不小心运行了flushall, 立即 shutdown nosave ,关闭服务器
    然后 手工编辑aof文件, 去掉文件中的 “flushall ”相关行, 然后开启服务器,就可以导入回原来数据.
    
    如果,flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失.
  • 相关阅读:
    实现不限层级的Element的NavMenu
    vue_插槽的理解和使用
    vue 动态修改路由参数
    什么是回流,什么是重绘,有什么区别?
    Vue路由获取路由参数
    【前端图表】echarts实现散点图x轴时间轴
    为什么 char 数组比 String 更适合存储密码?
    MySQL 日期时间类型怎么选?千万不要乱用!
    MySQL not exists 真的不走索引么?
    谷歌开源的代码评审规范,值得借鉴!
  • 原文地址:https://www.cnblogs.com/vijayfly/p/5507875.html
Copyright © 2011-2022 走看看