markdown
## 持久化
### RDB
```text
保存数据
```
```text
# 3600s 一次更改的保存
# 300s 100次更改的被保存
# 60 10000 次更改的被保存
save 3600 1 300 100 60 10000
#保存出现错误时是否继续写入,当有其他组建进行维护时,应当关闭
stop-writes-on-bgsave-error yes
#压缩rdb文件
rdbcompression yes
#校验hash值
rdbchecksum yes
dbfilename dump.rdb
dir /var/lib/redis
```
### AOF
```text
保存写操作
```
```text
#是否开启
appendonly no
appendfilename "appendonly.aof"
appenddirname "appendonlydir"
#
#always 一直追加
#no 不追加
# appendfsync always
appendfsync everysec
# appendfsync no
#重写
no-appendfsync-on-rewrite no
#重写规则
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
#时间戳恢复
aof-timestamp-enabled no
```
```text
#修复损坏的aof文件
redis-check-aof --fix appendonly.aof
```
## 主从复制
```text
主机数据单向流入从机
#读写分离 Master 负责写, Slave 负责读
```
```text
#命令行测试,正式化需要更改配置文件
127.0.0.1:6379> SLAVEOF localhost 6378
127.0.0.1:6377> SLAVEOF localhost 6378
127.0.0.1:6378> info replication
# Replication
role:master
connected_slaves:2
```
```text
全量复制: 全部数据更新 -- 第一次连接/重新链接 使用
增量复制: 新的数据添加
```
```text
当主机宕机后,可以使用命令 slaveof no one,使从机成为主机
```
## 哨兵模式
```text
主从复制的维护 -- 主机宕机的故障转移
```
```text
#哨兵配置文件
sentinel monitor name host port 1
```
## 缓存穿透和雪崩
```text
缓存穿透:大量数据在缓存中查询不到数据
缓存击穿:大量数据查询单类型热点
雪崩: 缓存热点过期,集中查询后台Sql
```
*
*[返回教程主页](https://www.monody.net/p/blog-page_3.html)*
*
评论