zoukankan      html  css  js  c++  java
  • RDB和AOF持久化

    • Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失。

    5.1 RDB持久化

    • 分两种情况 可以手动执行 也可以配置文件自动定期执行
    • 触发机制:
      1. 手动在redis数据库中执行save命令
      2. conf中配置触发条件, save 200 10 表示200秒内有10个修改类的操作就会执行保存
    1. 建立redis配置文件

      配置文件  s21_rdb.conf 内容如下 ,有关rdb的配置参数是 	
      dbfilename  dbmp.rdb  
      save 900 1  
      
      daemonize yes
      port 6379
      logfile /data/6379/redis.log             #没有需要创建这个 mkdir -p	递归创建
      dir /data/6379            		        #定义持久化文件存储位置
      dbfilename  s21redis.rdb        		#rdb持久化文件
      bind  127.0.0.1   		                #redis绑定地址
      requirepass redhat          		 
      save 900 1                  		  
      save 300 10                  	 	             		 
      save  20  2                              #在20秒内,超过2个修改类的操作
      
    2. 根据上述的设置,只要修改次数 满足save的设置就会在 规定的dir位置生成对应的文件名称的存储文件。另一种方式是直接在redis交互环境下 可以直接使用命令 save进行存储。

      127.0.0.1:6379> save
      OK
      
    3. 这种方式存储的 rdb存储文件 为二进制文件 不可读

    5.2 AOF持久化

    • AOF机制, 将你的修改类的操作命令,直接追加到日志文件中

    • 同样需要修改aof的配置文件,添加如下参数。核心功能参数是

      appendonly yes
      appendfsync  always    总是修改类的操作
                   everysec   每秒做一次持久化
                   no     依赖于系统自带的缓存大小机制
      
    1. 创建aof配置文件s21aof.conf ,内容如下

      daemonize yes
      port 6379
      logfile /data/6379/redis.log
      dir /data/6379
      appendonly yes
      appendfsync everysec   #每秒做一次持久化
      
    2. 以这个conf文件开启redis后,在data目录下会有对应的aof文件,此时每次有修改操作就会读入这个文件。通过这样的机制达成持久化存储。

    3. 优缺点

      • 优点:最大程序保证数据不丢
      • 缺点:日志记录非常大

    5.3 redis不重启 RDB切换到AOF存储

    • 前提:保证 redis 保证是 4.0版本以上

      redis-server -v
      
    1. redis.conf 服务端配置文件

      daemonize yes
      port 6379
      logfile /data/6379/redis.log
      dir /data/6379            #定义持久化文件存储位置
      dbfilename  s21redis.rdb  #rdb持久化文件
      bind  127.0.0.1   		 #redis绑定地址
      requirepass redhat          		  
      save 900 1                  		  
      save 300 10                  	 	
      save  20  2  #在20秒内,超过2个修改类的操作
      
    2. 正常通过 RDF启动redis

      redis-server s21_rdb.conf 
      redis-cli
      
    3. 执行AOF转化持久化命令

      127.0.0.1:6379> CONFIG set appendonly yes   #开启AOF功能
      OK
      127.0.0.1:6379> CONFIG SET save ""  #关闭RDB功能
      OK
      
    4. 注意:想要永久切换为aof,还得修改配置文件方可

  • 相关阅读:
    ASP.NET线程相关配置
    ECshop 数据库表结构
    PHPnow 升级后 PHP不支持GD、MySQL
    C# 创建iis站点以及IIS站点属性,iis不能启动站点
    CSPS_107
    CSPS_106
    CSPS_105
    CSPS_104
    CSPS_103
    CSPS_102
  • 原文地址:https://www.cnblogs.com/kevin6/p/11799506.html
Copyright © 2011-2022 走看看