Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

Redis高级特性解析:持久化、主从复制与哨兵机制全面探讨 PDF 下载


分享到:
时间:2023-12-29 10:11来源:http://www.java1234.com 作者:转载  侵权举报
Redis高级特性解析:持久化、主从复制与哨兵机制全面探讨
失效链接处理
Redis高级特性解析:持久化、主从复制与哨兵机制全面探讨 PDF 下载

 
 
 
相关截图:
 


主要内容:


AOF(append-only file)
快照功能并不是非常耐久(durable): 如果 Redis 因为某些原因而造成故障停机, 那么服务器将丢失
最近写入、且仍未保存到快照中的那些数据。从 1.1 版本开始, Redis 增加了一种完全耐久的持久化方
式: AOF 持久化,将修改的每一条指令记录进文件appendonly.aof中(先写入os cache,每隔一段时间
fsync到磁盘)
比如执行命令“set zhuge 666”,aof文件里会记录如下数据
*3$3
set
$5
zhuge
$3
666
这是一种resp协议格式数据,星号后面的数字代表命令有多少个参数,$号后面的数字代表这个参数有几
个字符
注意,如果执行带过期时间的set命令,aof文件里记录的是并不是执行的原始命令,而是记录key过期的
时间戳
比如执行“set tuling 888 ex 1000”,对应aof文件里记录如下
*3
$3
set
$6
tuling
$3
888
*3
$9
10 PEXPIREAT
11 $6
12 tuling
13 $13
14 1604249786301
你可以通过修改配置文件来打开 AOF 功能:
# appendonly yes
从现在开始, 每当 Redis 执行一个改变数据集的命令时(比如 SET), 这个命令就会被追加到 AOF 文
件的末尾。
这样的话, 当 Redis 重新启动时, 程序就可以通过重新执行 AOF 文件中的命令来达到重建数据集的目
的。
你可以配置 Redis 多久才将数据 fsync 到磁盘一次。
有三个选项:
appendfsync always:每次有新命令追加到 AOF 文件时就执行一次 fsync ,非常慢,也非常安全。
appendfsync everysec:每秒 fsync 一次,足够快,并且在故障时只会丢失 秒钟的数据。
appendfsync no:从不 fsync ,将数据交给操作系统来处理。更快,也更不安全的选择。
推荐(并且也是默认)的措施为每秒 fsync 一次, 这种 fsync 策略可以兼顾速度和安全性。
AOF重写
AOF文件里可能有太多没用指令,所以AOF会定期根据内存的最新数据生成aof文件
例如,执行了如下几条命令:
127.0.0.1:6379incr readcount
(integer1127.0.0.1:6379incr readcount
(integer2
127.0.0.1:6379incr readcount
(integer3
127.0.0.1:6379incr readcount
(integer4
127.0.0.1:6379incr readcount
10 (integer5
重写后AOF文件里变成
*3
$3
SET
$2
readcount
$1
5


 
 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐