• redis持久化


    redis持久化

    redis特性

    edis是内存型的数据库

    redis数据放在内存中
    重启服务器丢失数据
    重启redis服务丢失数据
    断电丢失数据
    
    

    为了防止redis数据丢失,进行持久化,所以将数据写入到一个文件中来实现

    RDB持久化

    在配置文件中,添加rdb持久化参数

    redis-6379.conf
    写入如下配置

    port 6379     
    daemonize yes     
    pidfile /data/6379/redis.pid
    loglevel notice  
    logfile "/data/6379/redis.log"
    dir /data/6379   
    protected-mode yes 
    dbfilename dbmp.rdb
    
    # 定时创建数据快照机制
    save 900 1                       # rdb机制 每900秒 有1个修改记录
    save 300 10                      # 每300秒  10个修改记录
    save 60 10000                    # 每60秒内  10000修改记录
    

    注意: 修改完配置之后,需要重启redis服务

    触发rdb持久化,可以手动save命令即可,生成 dump.rdb持久化文件

    重启redis,数据不再丢失

    rdb数据文件是二进制文件,人为的看不懂

    AOF持久化

    在配置文件中,添加aof参数

    在redis-6379.conf中添加参数,开启aof功能

    appendonly yes    #是否开启aof持久化功能,默认为不开启no
    appendfsync everysec   #aof写数据策略。always(每次) ,erverysec(每秒), no(系统控制)
    

    重启redis数据库,加载aof功能

    AOF重写

    • 手动重写
    bgrewriteaof
    
    • 自动重写
    auto-aof-rewrite-min-size  size
    auto-aof-rewrite-percentage  percentage
    

    redis持久化RDB转化AOF

    删除现有的aof文件,备份RDB文件

    cd /data/6379
    rm -rf appendonly.aof
    cp qishi5.rdb qishi5.rdb.bak
    

    配置RDB切换到AOF

    # 先进入redis客户端
    redis-cli
    
    # 配置开启AOF
    127.0.0.1:6379> config set appendonly yes
    # 关闭RDB
    127.0.0.1:6379> config set save ""
    

    以上配置重启后会失效,如果需要永久将RDB切换到AOF, 还是需要修改配置文件才可以

    -------------------------------------------

    个性签名:代码过万,键盘敲烂!!!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    mysql常用语法
    Java虚拟机(JVM)内存区域
    Java基础之this和super关键字用法
    Java基础之instanceof和transient关键字用法
    排序算法之快速排序
    Java基础之final和abstract关键字
    排序算法之归并排序
    Java基础之static关键字的用法
    剑指offer题目系列三(链表相关题目)
    数据结构之栈和队列及其Java实现
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/13917070.html
Copyright © 2020-2023  润新知