唠个嗑
当初的面试要求是越来越难了,想当初毕业后面试开发岗位如果你会应用 Redis,在面试官心中就会感觉,哎呦,你挺不错哦,算是加分项。当初的 Redis 成为了开发者的必备技能,面试如果没用过或不会用 Redis,那你就真的可能被劝退了。不停的学习新技术,或者就是开发者的宿命。
长久化
Redis 能够用来做缓存,也属于 NoSQL 数据库,所以也反对数据长久化,Redis 数据库反对两种长久化计划:
- RDB 快照
- AOF 日志
- 混合长久化
RDB
配置参数
redis.conf 波及的次要配置
#1、主动备份规定(满足一个条件就会触发备份动作)
save 900 1 #每隔 900 秒有 1 次批改则触发
save 300 10 #每隔 300 秒有 10 次批改则触发
save 60 10000 #每隔 60 秒有 10000 次批改则触发
#2、是否快照备份呈现谬误后禁止客户端写入,默认是 yes
stop-writes-on-bgsave-error yes
#3、是否对快照文件进行压缩,默认 yes
rdbcompression yes
#4、是否对 RDB 文件进行校验,默认 yes
rdbchecksum yes
#5、定义生成的 RDB 文件名,默认 dump.rdb
dbfilename dump.rdb
#6、定义生成 RDB 文件目录,默认是启动 Redis 服务的目录
dir ./
刚装置好的 Redis,默认开启的是这种长久化形式,在启动服务的目录会备份一个 dump.rdb 文件,Redis 启动的时候会主动加载这个文件来复原备份的数据。
备份
- 咱们能够通过 Redis 客户端发送命令 save 手动备份以后数据的快照,然而 save 是阻塞命令,当备份文件过大,备份操作没有实现时,期间接管的其余操作命令将会被挂起。所以不倡议应用 save,这时候呈现了 bgsave,见名知意,它会 fork 一个子过程来解决备份操作,不影响主过程解决客户端申请命令。
- 触发配置的主动备份策略,会主动执行 bgsave。
- 执行 shutdown 命令,会触发 save 命令,备份实现后才会服务敞开。
- 搭建主从复制时,在从机连上主机之后,会主动发送一条 sync 同步命令,主机收到命令
之后,首先执行 bgsave 对数据进行快照备份,而后才会给从机发送快照数据进行同步。
AOF
配置参数
#1、开启 aof 配置,默认 no
appendonly yes
#2、定义生成的 AOF 文件名
appendfilename "appendonly.aof"
# 3、主动备份规定(抉择一个即可)
# appendfsync always #每次批改都备份
appendfsync everysec #每秒钟备份一次
# appendfsync no #由操作系统主动调度刷磁盘
#4、是否 aof 文件压缩时还持续进行同步操作,默认 no
no-appendfsync-on-rewrite no
#4、定义当目前 aof 文件大小超过上一次重写时的 aof 文件大小的百分之多少的时候,再次进行重写
auto-aof-rewrite-percentage 100
#5、如果之前没有重写过,则以启动时的 aof 大小为根据,同时要求 aof 文件至多要大于 64M
auto-aof-rewrite-min-size 64mb
默认 AOF 是没有开启的,AOF 长久化是将被执行的命令追加到 AOF 文件尾部,数据恢复时把命令从头到尾执行一遍
应用 AOF 形式做长久化,能够把 RDB 长久化的策略正文掉
save ""
#save 900 1
#save 300 10
#save 60 10000
混合长久化
此性能是 Redis4 之后新增的,说实话我也是前几天刚理解到的,接触的不多,这里也简略做个介绍吧,想深刻的那只能让您悲观了,出门左拐直走 ……
配置参数
aof-use-rdb-preamble yes
备份形式
通过下面参数设为 yes 来开启,在数据写入的时候先把数据以 RDB 的格局放在文件结尾,再将后续的命令以 AOF 的格局追加到文件前面,这样算是引进了 RDB 数据恢复速度快的长处 和 AOF 数据失落危险小的长处。
Redis 局部思维脑图
如果感觉图片不分明,公号 charmsongo 回复 Redis 获取
如果有哪些不对的中央烦请指认,后行感激