zoukankan      html  css  js  c++  java
  • Redis的持久化

    什么是redis持久化
      RDB(redis database) AOF(append only file)
      redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦断电退出,服务器中的数据也会消失,所以redis提供了持久化功能
    RDB
    触发的rdb操作都会保存在dump.rdb文件中
    usr/local/bin 文件夹下
    打开redis.config文件
    表示 900s 有一次对key的增删改,就会触发rdb操作
    表示 200s 有10次对key的增删改,就会触发rdb操作
    表示 60s 有10000次对key的增删改,就会触发rdb操作
     
    我们现在自定义一个
    只要60秒内 有5次对key的操作,就会触发rdb操作
    将rdb文件删除
    添加5个key
    127.0.0.1:6379> set name xiaofei
    OK
    127.0.0.1:6379> set age 23
    OK
    127.0.0.1:6379> set address xuanhua 
    OK
    127.0.0.1:6379> set gender male
    OK
    127.0.0.1:6379> set hobby Java
    OK
    触发rdb机制
    打开dump.rdb文件,里面保存了我们刚刚写了的数据
    什么时候触发rdb机制:
    1. redis.config配置文件中的save规则满足的情况下
    2. 执行flushall命令
    3. 退出redis
    备份就是产生一个dump.rdb文件
    优点:
    1. 适合大规模的数据恢复
    2. 对数据的完整性要求不高
    缺点:
    1. 需要一定的时间间隔进行操作,如果redis意外宕机了,最后一次修改的数据就没了
    2. fork进程的时候,会占用一定的内存空间
    AOF
    将我们的命令都记录下来,相当于浏览器的history,恢复时,吧这个文件的命令全部执行一遍,所以如果数据很多时,会耗费时间。以日志的形式记录每一个动作,redis重启的话,会根据日志文件的内容将指令从前到后执行一遍
    aof保存的文件时appendonly.aof文件
    默认是不开启的 默认是no 改成yes表示开启
    一旦编辑appendonly.aof 这个文件,那个连接redis会出现错误
    那么你可以使用这个命令来为我们修复这个文件
    redis-check-aof --fix appendonly.aof 

    修复成功

    修复之后发现连接成功
     
     

  • 相关阅读:
    Docker镜像与仓库(四)
    Docker网络与存储(三)
    Docker基本使用(一)
    虚拟化KVM之优化(三)
    修改CENTOS7的网卡ens33修改为eth0
    虚拟化KVM之安装(二)
    虚拟化KVM之概述(一)
    Python不同版本打包程序为.exe文件
    JSON
    同源策略(same-origin policy)及三种跨域方法
  • 原文地址:https://www.cnblogs.com/xiexiaofei/p/14150788.html
Copyright © 2011-2022 走看看