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 

    修复成功

    修复之后发现连接成功
     
     

  • 相关阅读:
    JDBC连接
    Ubuntu 16.04安装MySQL(5.7.18)
    AOP拦截日志报错llegalStateException: It is illegal to call this method if the current request is not in asynchronous mode
    mybatis笔记
    打扮IDEA更换主题
    简单的IDEA破解到2099年
    UML之时序图详解
    UML之类图详解
    UML之用例图详解
    spring和springboot常用注解总结
  • 原文地址:https://www.cnblogs.com/xiexiaofei/p/14150788.html
Copyright © 2011-2022 走看看