如何减慢启动Redis以获得Loading:1的过程?

时间:2018-07-06 18:01:44

标签: redis

我正在尝试减慢Redis的启动过程,以便在我们启动命令来启动Redis服务器时执行相同的操作

info persistence

它应该显示Loading:1,但现在我正在

loading:0
rdb_changes_since_last_save:1024
rdb_bgsave_in_progress:0
rdb_last_save_time:1530558451
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1 
rdb_last_cow_size:0
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0

1 个答案:

答案 0 :(得分:1)

由于我从@ItamarHaber的提示中获得了新信息,因此我不得不重写此答案的某些部分

如果仅设置RDB

您可以安全地发出INFO PERSISTENCE并获得loading:1

在我的计算机上加载2GB db(磁盘上500mb)的RDB快照需要15秒(仅供参考)。

如果已设置AOF

在启动期间,Redis重播操作(它可能进行压缩,删除覆盖相同键的操作),以使DB状态恢复到关机前的状态。这意味着您可以得到一个有意义的答案(如上所述),或者这样:

  

BUSY Redis忙于运行脚本。您只能致电SCRIPT KILL或SHUTDOWN NOSAVE。

如果服务器历史记录中包含一些大型LUA脚本。因此,使用此配置时,您需要意识到这一点或使用竞争性不同的方法来检查Redis是否准备就绪:

tail -f到Redis日志文件并查找以下行:

  

oO0OoO0OoO0Oo Redis正在启动oO0OoO0OoO0Oo

  

准备接受连接

介于两者之间的时间是Redis启动并加载保存的数据的时间。

p.s。 How to fill Redis with test data