Redis--持久化的两种方式RDB和AOF以及一个取舍

1.什么是持久化
redis所有数据保持在内存中 对数据的更新将异步的保存在磁盘上

2.持久化的方式
快照 某时某点的copy mysql的Dump
redis的RDB

3.写日志 Mysql的Binlog
redis的AOF

4.什么是RDB
redis通过 save(同步) /bgsave(异步) /自动的方式把redis的数据完整的生成一个快照 保存在硬盘当中 也就是RDB文件(二进制)
5.save命令
是同步的 执行save命令的时候 其他命令要等待
5.bgsave命令
是异步的 其他命令不需要等待
执行bgsave命令 会使用linux的一个fork()函数 生成了主进程的一个子进程 这个子进程去完成 RDB文件(二进制)的生成 然后这个子进程会告诉主进程这个RDM文件生成成功了 bgsave successfully
6. 自动生成RDB文件的策略 (不推荐使用 不可控)redis.conf
Redis--持久化的两种方式RDB和AOF以及一个取舍
意义:900秒做出一次改变
满足任意一条 就会自动生成RDB文件 生成策略是内部执行bgsave

测试:
1.save阻塞
2.bgsave fork
3.真的自动?
4.RDB长啥样
1.尽量不改变redis的原配置

  1. 新建 data文件 用于存放日志文件
    mkdir data
    2.新建 config文件 拷贝redis.conf的原配置
    cp redis.conf config
    3.修改配置文件名
    mv 原文件 新文件 : 剪切(具备重命名功能
    mv redis-6379.conf redis-6380.conf
    redis-6380.conf
    vim redis-6380.conf 进行配置
    4.port 6380 端口
    5.daemonize yes 是否以守护进程的方式启动
    6.logfile “6380.log” 日志文件名
    7.注释RDB自动的默认配置
    #save 900 1
    #save 300 10
    #save 60 10000

8.日志文件和RDB文件放在哪?
dir /usr/local/tem/redis/data
9.RDB文件名
dbfilename dump6380.rdb
10 . 保存退出
11.启动
redis-server /usr/local/tem/redis/config/redis-6380.conf
12.关闭redis
redis-cli -p 6380 shutdown