Redis持久化机制

RDB

RDB是Redis默认的持久化机制

  • RDB持久化文件,速度比较快,而且存储的是一个二进制文件,传输起来很方便。

  • RDB持久化的时机:

    save 900 1:在900秒内,有1个key改变了,就执行RDB持久化。

    save 300 10:在300秒内,有10个key改变了,就执行RDB持久化。

    save 60 10000:在60秒内,有10000个key改变了,就执行RDB持久化。

  • RDB无法保证数据的绝对安全。

  • 流程如下↓

    1进入redis的配置文件redis.conf增加右边的rdb配置

save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename redis.rdb

 2接着来到docker-compose.yml文件,增加redis数据文件夹的目录挂载

version: '3.1'
services:
  redis:
    image: daocloud.io/library/redis:5.0.7
    restart: always
    container_name: redis
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 6379:6379
    volumes:
      - ./conf/redis.conf:/usr/local/redis/redis.conf
      - ./data:/data   #增加数据文件夹的目录挂载
    command: ["redis-server","/usr/local/redis/redis.conf"]

3先彻底停止然后重启redis容器,接着进入redis容器内部,准备操作

[root@localhost docker_redis]# docker-compose down
[root@localhost docker_redis]# docker-compose up -d

4执行redis-cli客户端命令,然后通过shutdown save关闭保存命令来快速触发数据持久化保存数据到rdb文件,最后restart重启redis容器,发现数据还在,证明持久化成功

AOF

AOF持久化机制默认是关闭的,Redis官方推荐同时开启RDB和AOF持久化,更安全,避免数据丢失。

  • AOF持久化的速度,相对RDB较慢的,存储的是一个文本文件,到了后期文件会比较大,传输困难。

  • AOF持久化时机。

    appendfsync always:每执行一个写操作,立即持久化到AOF文件中,性能比较低。 appendfsync everysec:每秒执行一次持久化。 appendfsync no:会根据你的操作系统不同,环境的不同,在一定时间内执行一次持久化。

  • AOF相对RDB更安全,推荐同时开启AOF和RDB。

  • 流程如下↓

1进入redis配置文件增加aof配置,修改了配置文件,用docker-compose restart重启redis容器让其生效

redis.conf 增加下面配置:

appendonly yes
appendfilename "redis.aof"
# appendfsync always
appendfsync everysec
# appendfsync no

重启容器:

[root@localhost docker_redis]# docker-compose restart

2进入redis容器内部,关闭但不保存,发现我们的数据lisi持久化到了aop文件,可以打开文件看看↓

 

注意事项

同时开启RDB和AOF的注意事项:

同时开启了AOF和RDB持久化,那么在Redis宕机重启之后,会加载一个持久化文件,官方默认选择AOF文件.

先开启了RDB,再次开启AOF,如果RDB执行了持久化,那么RDB文件中的内容会被AOF覆盖掉,建议同时开启.

另外,如果配置忘了,可以随便打开一个redis服务器软件安装包,解压找到里面的conf配置文件,拷贝即可

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值