“Redis 持久化”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
(Jihongchang移动页面RDB 和 AOFRedis 持久化
 
(未显示同一用户的6个中间版本)
第1行: 第1行:
 +
Redis 虽然是内存数据库,但为了在重启之后仍然可以提供数据也提供了4种持久化方案:
 +
 +
* RDB
 +
* AOF
 +
* 不持久化
 +
* RDB+AOF
 +
值得一提的是这些方案也各有优缺点,需要在使用的时候根据需要选择方案
 +
 +
 +
 +
 
=== RDB ===
 
=== RDB ===
 
RDB(Redis Database),以指定的时间间隔执行保存数据集的时间点快照。
 
RDB(Redis Database),以指定的时间间隔执行保存数据集的时间点快照。
 +
 +
优点:服务重启时加载速度快
 +
 +
缺点:因为是周期间隔进行快照保存,所以如果在两次快照之间出现的增量数据可能会丢失
 +
 +
执行快照保存的时间点尽量在访问量少的时间
 +
 +
==== 配置 ====
 +
<syntaxhighlight lang="console">
 +
#after 900 sec (15 min) if at least 1 key changed
 +
save 900 1
 +
 +
#after 300 sec (5 min) if at least 10 keys changed
 +
save 300 10
 +
 +
#after 60 sec if at least 10000 keys changed
 +
save 60 10000
 +
 +
#The filename where to dump the DB
 +
dbfilename dump.rdb
 +
</syntaxhighlight>
 +
 +
  
  
 
=== AOF ===
 
=== AOF ===
 
AOF(Append Only File),不停记录服务器收到的每个写操作,然后在服务器启动时重新执行这些写操作以重建原始数据,使用与 Redis 协议本身相同的格式记录命令。
 
AOF(Append Only File),不停记录服务器收到的每个写操作,然后在服务器启动时重新执行这些写操作以重建原始数据,使用与 Redis 协议本身相同的格式记录命令。
 +
 +
优点:每一个发送到服务器的写操作都会被记录,几乎不丢数据或者丢的很少
 +
 +
缺点:服务重启时加载的是所有写操作的 history,这个量可能会很大,执行时间会比较久
 +
 +
==== 配置 ====
 +
<syntaxhighlight lang="console">
 +
appendonly yes
 +
appendfilename "appendonly.aof"
 +
</syntaxhighlight>
  
  
第10行: 第54行:
 
=== 参考 ===
 
=== 参考 ===
 
https://redis.io/docs/management/persistence/
 
https://redis.io/docs/management/persistence/
 +
 +
https://www.youtube.com/watch?v=GEg7s3i6Jak

2023年2月19日 (日) 04:28的最新版本

Redis 虽然是内存数据库,但为了在重启之后仍然可以提供数据也提供了4种持久化方案:

  • RDB
  • AOF
  • 不持久化
  • RDB+AOF

值得一提的是这些方案也各有优缺点,需要在使用的时候根据需要选择方案



RDB

RDB(Redis Database),以指定的时间间隔执行保存数据集的时间点快照。

优点:服务重启时加载速度快

缺点:因为是周期间隔进行快照保存,所以如果在两次快照之间出现的增量数据可能会丢失

执行快照保存的时间点尽量在访问量少的时间

配置

#after 900 sec (15 min) if at least 1 key changed
save 900 1

#after 300 sec (5 min) if at least 10 keys changed
save 300 10

#after 60 sec if at least 10000 keys changed
save 60 10000

#The filename where to dump the DB
dbfilename dump.rdb



AOF

AOF(Append Only File),不停记录服务器收到的每个写操作,然后在服务器启动时重新执行这些写操作以重建原始数据,使用与 Redis 协议本身相同的格式记录命令。

优点:每一个发送到服务器的写操作都会被记录,几乎不丢数据或者丢的很少

缺点:服务重启时加载的是所有写操作的 history,这个量可能会很大,执行时间会比较久

配置

appendonly yes
appendfilename "appendonly.aof"


参考

https://redis.io/docs/management/persistence/

https://www.youtube.com/watch?v=GEg7s3i6Jak