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, 还是需要修改配置文件才可以

posted @ 2020-11-02 22:52  我在路上回头看  阅读(77)  评论(0)    收藏  举报