我正在调查我们系统上的 Redis 内存问题。
我试图弄清楚所做的 10000 次更改是什么(我认为太多了)
奇怪的是,我在 60 秒内得到 10000 次更改。保存...
但每 3 分钟一次,而不是我预期的 60 秒一次。
日志示例:
[10993] 03 Jan 06:37:46.166 * 10000 changes in 60 seconds. Saving...
[10993] 03 Jan 06:37:46.167 * Background saving started by pid 4802
[4802] 03 Jan 06:37:46.170 * DB saved on disk
[4802] 03 Jan 06:37:46.170 * RDB: 2 MB of memory used by copy-on-write
[10993] 03 Jan 06:37:46.268 * Background saving terminated with success
[10993] 03 Jan 06:40:27.140 * 10000 changes in 60 seconds. Saving...
[10993] 03 Jan 06:40:27.141 * Background saving started by pid 5081
[5081] 03 Jan 06:40:27.145 * DB saved on disk
[5081] 03 Jan 06:40:27.145 * RDB: 2 MB of memory used by copy-on-write
[10993] 03 Jan 06:40:27.242 * Background saving terminated with success
[10993] 03 Jan 06:43:08.335 * 10000 changes in 60 seconds. Saving...
redis_version:2.8.4
最佳答案
save 60 10000
在您的配置中意味着 redis 定期检查是否有至少 10000 次更改并且它至少 60 秒自上次 rdb 保存以来。只有当这两个条件都满足时(对于您的任何保存点),新的 rdb 保存才会开始。
此外,如果您认为在 ~3 分钟内进行 10000 次更改听起来很多,请不要忘记一条命令可以将更改计数增加不止一次,例如MSET
.
关于redis "10000 changes in 60 seconds"每 3 分钟运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34651964/