【问题标题】:Redis removes all my keys immediately after BGSAVERedis 在 BGSAVE 之后立即删除我的所有密钥
【发布时间】:2014-01-22 22:49:42
【问题描述】:

我在 Windows Server x64 上使用 redis 2.6.12 配置:maxmemory 45GB,内存策略 volatile-ttl(我所有的密钥都有 ttl,但它们永远没有机会过期,因为过期时间是在几个年)。一天一次,在某个时间,我使用 BGSAVE 创建一个转储。内存大部分时间都是满的,因为我总是添加新键,而最旧的键被驱逐。

问题是,有时,在数据库保存后,redis 也会立即删除我所有的密钥,并且内存从 45GB 下降到 0GB,从 50 000 个密钥下降到 0 个密钥。

为什么会发生这种情况,如何在不删除所有密钥的情况下将数据库保存在后台?

这是redis.log文件的一部分:

[708] 1 月 22 日 05:27:30.422 - 1 个客户端已连接(0 个从站),45080973592 字节正在使用
[708] 1 月 22 日 05:27:35.894 - DB 0:49424 个密钥(49424 易失性)在65536 个插槽 HT。
[708] 1 月 22 日 05:27:35.894 - 1 个客户端已连接(0 个从站),45090250204 字节正在使用
[708] 1 月 22 日 05:27:41.348 - DB 0:49393 个密钥( 49393 volatile)在 65536 个插槽 HT。
[708] 1 月 22 日 05:27:41.348 - 1 个客户端已连接(0 个从站),45081280352 字节正在使用
[708] 1 月 22 日 05:27:46.812 - DB 0 :65536 个插槽 HT 中的 49394 个密钥(49394 个易失性)。
[708] 1 月 22 日 05:27:46.812 - 1 个客户端已连接(0 个从站),45087803712 个字节正在使用
[708] 1 月 22 日 05:27: 52.086 - 接受 192.168.2.11:65374
[708] 1 月 22 日 05:27:52.211 - 客户端关闭连接
[708] 1 月 22 日 05:27:52.274 - DB 0:65536 中的 49396 个密钥(49396 易失性)插槽 HT。
[708] 1 月 22 日 05:27:52.274 - 1 个客户端已连接(0 个从站),45087804476 字节正在使用
[708] 1 月 22 日 05:27:57.746 - DB 0: 49397 个密钥(49397 volatile)在 65536 个插槽 HT 中。
[708] 1 月 22 日 05:27:57。 746 - 1 个客户端已连接(0 个从站),45087772152 字节正在使用
[708] 1 月 22 日 05:28:03.183 - DB 0:65536 个插槽 HT 中的 49365 个密钥(49365 易失性)。
[708] 1 月 22 日05:28:03.183 - 1 个客户端已连接(0 个从站),45089964620 字节正在使用
[708] 1 月 22 日 05:28:08.637 - DB 0:65536 个插槽 HT 中的 49367 个密钥(49367 易失性)。
[ 708] 1 月 22 日 05:28:08.637 - 1 个客户端已连接(0 个从站),45090411120 字节正在使用
[708] 1 月 22 日 05:28:14.091 - DB 0:65536 个插槽 HT 中的 49393 个密钥(49393 易失性)。
[708] 1 月 22 日 05:28:14.091 - 1 个客户端已连接(0 个从站),45091947976 字节正在使用
[708] 1 月 22 日 05:28:19.550 - DB 0:49393 个密钥(49393 易失性)在65536 个插槽 HT。
[708] 1 月 22 日 05:28:19.550 - 1 个客户端已连接(0 个从站),45091947976 个字节正在使用
[708] 1 月 22 日 05:28:25.006 - DB 0:49393 个密钥( 49393 volatile)在 65536 个插槽 HT。
[708] 1 月 22 日 05:28:25.006 - 1 个客户端已连接(0 个从站),45091947976 字节正在使用
[708] 1 月 22 日 05:28:30.443 - DB 0 :65536 slo 中的 49395 个键(49395 易失性) ts HT.
[708] 1 月 22 日 05:28:30.443 - 1 个客户端已连接(0 个从站),45086710236 字节正在使用
[708] 1 月 22 日 05:28:35.894 - DB 0:49453 个密钥(49453 volatile)在 65536 个插槽 HT。
[708] 1 月 22 日 05:28:35.894 - 1 个客户端已连接(0 个从站),45090443368 字节正在使用
[708] 1 月 22 日 05:28:41.388 - DB 0: 65536 个插槽 HT 中的 49468 个密钥(49468 易失性)。
[708] 1 月 22 日 05:28:41.388 - 1 个客户端已连接(0 个从属),45095827040 字节正在使用
[708] 1 月 22 日 05:28:46.861 - DB 0:65536 个插槽 HT 中的 49512 个密钥(49512 易失性)。
[708] 1 月 22 日 05:28:46.861 - 1 个客户端已连接(0 个从属),45095224584 字节正在使用
[708] 2005 年 1 月 22 日:28:52.293 - DB 0:65536 个插槽 HT 中的 49490 个密钥(49490 易失性)。
[708] 1 月 22 日 05:28:52.293 - 1 个客户端已连接(0 个从属),45096285456 字节正在使用
[708 ] 1 月 22 日 05:28:57.754 - DB 0:65536 个插槽 HT 中的 49505 个密钥(49505 易失性)。
[708] 1 月 22 日 05:28:57.754 - 1 个客户端已连接(0 个从站),45095954716 个字节正在使用[708] 1 月 22 日 05:29:03.202 - DB 0: 49393 ke ys(49393 volatile)在 65536 个插槽 HT 中。
[708] 1 月 22 日 05:29:03.202 - 1 个客户端已连接(0 个从站),45086445608 字节正在使用
[708] 1 月 22 日 05:29:06.962 -接受 192.168.2.11:65462
[708] 1 月 22 日 05:29:06.978 * cowBkgdSaveReset 删除 0 个 SDS 和 0 个 obj 项目
[708] 1 月 22 日 05:29:06.978 - 客户端关闭连接
[708 ] 1 月 22 日 05:29:08.634 - DB 0:65536 个插槽 HT 中的 49402 个密钥(49402 易失性)。
[708] 1 月 22 日 05:29:08.634 - 1 个客户端已连接(0 个从站),45094333732 字节正在使用[708] 1 月 22 日 05:29:09.993 * 经过的 COW DB 过期时间 46874
[708] 1 月 22 日 05:29:14.384 - 1 个客户端已连接(0 个从属),45105573900 字节正在使用
[708 ] 1 月 22 日 05:29:19.853 - 1 个客户端已连接(0 个从站),45104530004 字节正在使用
[708] 1 月 22 日 05:29:25.306 - 1 个客户端已连接(0 个从站),45099816224 字节正在使用
[708] 1 月 22 日 05:29:30.775 - 1 个客户端已连接(0 个从站),45099575628 字节正在使用
[708] 1 月 22 日 05:29:36.243 - 1 个客户端已连接(0 个从站),45137384392 字节正在使用[708] 1 月 22 日 05:29:41.712 - 1 个客户端已连接(0 个从站),45104533564 字节正在使用
[708] 1 月 22 日 05:29:47.181 - 1 个客户端已连接(0 个从站),45099437328 字节正在使用
[708] 1 月 22 日 05:29:52.651 - 1 个客户端已连接(0 个从站),45110374948 字节正在使用
[708] 1 月 22 日 05:29:58.120 - 1 个客户端已连接(0 个从站),45104543108 字节使用中
[708] 1 月 22 日 05:30:03.589 - 1 个客户端已连接(0 个从站),45104530980 字节正在使用
[708] 1 月 22 日 05:30:09.058 - 1 个客户端已连接(0 个从站), 45115479704 字节正在使用
[708] 1 月 22 日 05:30:14.526 - 1 个客户端已连接(0 个从站),45099701388 字节正在使用
[708] 1 月 22 日 05:30:19.995 - 1 个客户端已连接(0 个从站), 45104465668 字节正在使用
[708] 1 月 22 日 05:30:25.464 - 1 个客户端已连接(0 个从站),45110009964 字节正在使用
[708] 1 月 22 日 05:30:30.933 - 1 个客户端已连接( 0 个从站),45110016116 个字节正在使用
[708] 1 月 22 日 05:30:36.401 - 1 个客户端已连接(0 个从站),45104530348 个字节正在使用
[708] 1 月 22 日 05:30:41.870 - 1 c客户端已连接(0 个从属设备),45104530976 个字节正在使用
[708] 1 月 22 日 05:30:47.339 - 1 个客户端已连接(0 个从属设备),45112236848 个字节正在使用
[708] 1 月 22 日 05:30:52.808 - 1 个客户端已连接(0 个从站),45115479704 字节正在使用
[708] 1 月 22 日 05:30:58.276 - 1 个客户端已连接(0 个从站),45099272652 字节正在使用
[708] 1 月 22 日 05:31 :03.745 - 1 个客户端已连接(0 个从站),45104545068 字节正在使用
[708] 1 月 22 日 05:31:09.214 - 1 个客户端已连接(0 个从站),45110007152 字节正在使用
[708] 2005 年 1 月 22 日:31:14.683 - 1 个客户端已连接(0 个从站),45115480280 字节正在使用
[708] 1 月 22 日 05:31:20.151 - 1 个客户端已连接(0 个从站),45104532396 字节正在使用
[708] 22 Jan 05:31:25.620 - 1 个客户端已连接(0 个从站),45099229368 字节正在使用
[708] 1 月 22 日 05:31:31.089 - 1 个客户端已连接(0 个从站),45130679280 字节正在使用
[708 ] 1 月 22 日 05:31:36.558 - 1 个客户端已连接(0 个从站),45105333432 字节正在使用
[708] 1 月 22 日 05:31:42.026 - 1 个客户端已连接(0 个从站),451 05391176 字节正在使用
[708] 1 月 22 日 05:31:47.495 - 1 个客户端已连接(0 个从站),45102300088 字节正在使用
[708] 1 月 22 日 05:31:52.964 - 1 个客户端已连接(0 个从站) ), 45105826172 字节正在使用
[708] 1 月 22 日 05:31:58.433 - 1 个客户端已连接(0 个从站),45105884184 字节正在使用
[708] 1 月 22 日 05:32:03.901 - 1 个客户端已连接( 0 个从站),45105884932 个字节正在使用
[708] 1 月 22 日 05:32:09.370 - 1 个客户端已连接(0 个从站),45105888636 个字节正在使用
[708] 1 月 22 日 05:32:14.839 - 1 个客户端已连接(0 个从站),45106173124 字节正在使用
[708] 1 月 22 日 05:32:20.308 - 1 个客户端已连接(0 个从站),45101461260 字节正在使用
[708] 1 月 22 日 05:32:25.776 - 1 个客户端已连接(0 个从站),45111657188​​ 字节正在使用
[708] 1 月 22 日 05:32:31.245 - 1 个客户端已连接(0 个从站),45106176332 字节正在使用
[708] 1 月 22 日 05:32: 36.714 - 1 个客户端已连接(0 个从站),45139031340 字节正在使用
[708] 1 月 22 日 05:32:42.184 - 1 个客户端已连接(0 个从站),45117175000 字节正在使用
[708] 2 1 月 2 日 05:32:47.653 - 1 个客户端已连接(0 个从站),45121180196 字节正在使用
[708] 1 月 22 日 05:32:53.122 - 1 个客户端已连接(0 个从站),45110913708 字节正在使用
[ 708] 1 月 22 日 05:32:54.626 * 数据库保存在磁盘上
[708] 1 月 22 日 05:32:54.658 * 后台保存成功终止
[708] 1 月 22 日 05:32:54.658 * cowBkgdSaveReset 删除 49403 SDS 和 99937 obj 项目
[708] 1 月 22 日 05:33:11.689 - 1 个客户端已连接(0 个从站),正在使用 1876072 个字节
[708] 1 月 22 日 05:33:17.162 - DB 0:2 个密钥(2 个易失性)在 4 个插槽中 HT。
[708] 1 月 22 日 05:33:17.162 - 1 个客户端已连接(0 个从站),828360 字节正在使用
[708] 1 月 22 日 05:33:22.616 - DB 0:4 个插槽 HT 中的 2 个密钥(2 个易失性)。
[708] 1 月 22 日 05:33:22.616 - 1 个客户端已连接(0 个从站),828360 字节正在使用
[708] 1 月 22 日 05:33 :28.064 - DB 0:8 个插槽 HT 中的 6 个密钥(6 个易失性)。
[708] 1 月 22 日 05:33:28.064 - 1 个客户端已连接(0 个从属),830504 字节正在使用
[708] 22 Jan 05:33:33.493 - DB 0:8 个插槽 HT 中的 6 个密钥(6 个易失性)。
[7 08] 1 月 22 日 05:33:33.493 - 1 个客户端已连接(0 个从站),830488 字节正在使用
[708] 1 月 22 日 05:33:38.930 - DB 0:16 个插槽 HT 中的 13 个密钥(13 个易失性)。
[708] 1 月 22 日 05:33:38.930 - 1 个客户端已连接(0 个从站),1190160 字节正在使用
[708] 1 月 22 日 05:33:44.399 - DB 0:16 个键(16 个易失性)在16 个插槽 HT。
[708] 1 月 22 日 05:33:44.399 - 连接了 1 个客户端(0 个从站),正在使用 1098216 个字节
[708] 1 月 22 日 05:33:49.852 - DB 0:18 个键( 18 个易失性)在 32 个插槽 HT。
[708] 1 月 22 日 05:33:49.852 - 1 个客户端已连接(0 个从站),正在使用 1099428 个字节
[708] 1 月 22 日 05:33:55.311 - DB 0 : 32 个插槽 HT 中的 22 个键(22 个 volatile)。

有什么帮助吗?

【问题讨论】:

  • 这听起来像一个错误。为什么不在 Windows 机器上“构建”最新版本的 Redis?
  • @Manu 我该怎么做,你能给我一些指示吗?我找到了一个 redis.exe 版本 2.6.14,但是与 redis.exe 版本 2.6.12 一起使用的 redis 观察服务(负责保持 redis.exe 进程的活动)不起作用。

标签: caching redis


【解决方案1】:

因为这看起来像一个错误,所以这是我的建议:

(请注意,dmajkic 的 fork 与 2.4 一样古老)

【讨论】:

  • 非常感谢,我会试一试。抱歉,我没有足够的声誉,因此无法投票给你答案。
猜你喜欢
  • 1970-01-01
  • 2020-01-26
  • 2016-12-05
  • 2019-03-09
  • 1970-01-01
  • 2016-09-21
  • 2014-11-21
  • 1970-01-01
  • 2015-12-18
相关资源
最近更新 更多