Redis 第四天

一.RDB(Redis DataBase)

1.是什么:指定时间间隔内将内容中的数据集快照写入磁盘

2:做法:使用子进程frok(临时文件)结束后替换上次持久化好的文件,主进程不进行任何io操作,性能很高,对数据完成性不敏感,容易丢失最后最后一次持久化的数据。

3.持久化文件

redis.conf文件中设置的

在redis.conf中配置文件名称,默认为dump.rdb

在配置文件中有默认的快照设置

4.RDB数据备份

1.将dump.rdb文件拷贝一份

2.将redis服务断开

3.将dump.rdb文件删除,再将之前拷贝好的文件改名

4.打开redis会自动读取dump.rdb文件中的内容

5.RDB的优势和劣势

优势:适合大规模的数据恢复
          对数据完整性和一致性要求不高更适合使用
          节省磁盘空间
          恢复速度快  

劣势:Fork的时候,内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑。
           虽然Redis在fork时使用了写时拷贝技术,但是如果数据庞大时还是比较消耗性能。
           在备份周期在一定间隔时间做一次备份,所以如果Redis意外down掉的话,就会丢失最后一次快照后的所有修改。

6.RDB总结

内存中数据通过 RDBsave保存到磁盘

磁盘中的rdb文件通过RDBload加载到内存


二.AOF(Append Only File)

使用日志形式通过追加的方式记录写操作记录指令不记录读指令

AOF持久化过程

1.客户端的指令会被追加(append)到AOF缓冲区中

2.AOF缓冲区根据持久化策略[always,eversec,no]同步到磁盘AOF文件中

3.AOF文件大小超过重写策略或手动重写时,会对AOF文件rewrite重写,压缩AOF文件容量

        <1>set a a <2>set b b 重写 set a a b b

        重写大于100%只记录结果

4.Redis服务重启时,会重新load加载AOF文件中的写操作达到数据恢复的目的

AOF默认不开启

可以在redis.conf中配置文件名称,默认为 appendonly.aof
AOF文件的保存路径,同RDB的路径一致。

AOF异常恢复

如遇到AOF文件损坏,通过/usr/local/bin/redis-check-aof–fix appendonly.aof进行恢复
备份被写坏的AOF文件

恢复:重启redis,然后重新加载

AOF总结

优势:备份更加稳健(优先级比RDB高)

           可处理误操作

劣势:比起RDB占用更多的磁盘空间。
          恢复备份速度要慢。
          每次读写都同步的话,有一定的性能压力。


三.主从复制

主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

功能:1.读写分离。2.容灾快速恢复

1.查看运行状况

info replication
打印主从复制的相关信息

2.配主库

slaveof
成为某个实例的从服务器

从机重启会独立成为主机(再次连接原来的主机数据会从头恢复)

主机重启会回到主的位置从机不会上位

反客为主

当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。
slaveof no one 将从机变为主机。

运行过程

1从机连接到主机会发送数据同步消息(sync)

2.主机接收到消息会将rdb文件发送到从服务器

3.第一次连接接受文件数据为全量复制,而后接受修改命令为增量复制。


哨兵模式

监控主机是否故障,投票自动将从库转位主库

配置哨兵

sentinel monitor mymaster 127.0.0.1 6379 1
其中mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量。

启动哨兵

在bin目录下执行 redis-sentinel sentinel.conf

选择条件:

1.优先级靠前的(数字小)优先级在redis.conf中默认:slave-priority 100,值越小优先级越高

2.偏移量大的        偏移量是指获得原主机数据最全的

3.runid最小的服务        每个redis实例启动后都会随机生成一个40位的runid

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值