我最近有一个数据丢失,由于一个非function的bgsave /保存(它挂断给我总是“错误背景保存已经在进行中”的错误信息)
这是redis info命令的服务器部分:
# Server redis_version:2.8.19 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:9968db13395be4aa redis_mode:standalone os:Windows arch_bits:64 multiplexing_api:winsock_IOCP gcc_version:0.0.0 process_id:5968 run_id:3cf27bdbead6bc8d37d9eb8e0de5eb7898b72ede tcp_port:6379 uptime_in_seconds:883 uptime_in_days:0 hz:10 lru_clock:11936623 config_file:C:\Program Files\Redis\redis_store.conf
这些是我的快照设置:
save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename store.rdb dir ./
该服务器也以主angular色工作。 (不知道这是否相关 – 但是:当bgsave挂起时,复制似乎停止了)
我正在运行Redis作为服务。 似乎问题最近发生时服务崩溃了(对我来说)不明原因:
我有自动恢复function处于活动状态(在崩溃后自动重新启动服务)。
从那个时间点redis停止快照(我可以看到这种forms的备份文件的时间戳)。
我的问题是:
可悲的是我没有关于“挂断”状态的信息,因为我尝试将失败的恢复失败重新启动服务(我尝试通过lua脚本将密钥迁移到新的redis数据库 – 但locking了我的服务)
回答我自己的问题:
看来,崩溃是由服务器configuration错误造成的。 系统分页文件不够大。 因此,我降低了maxmemory参数的值 – 现在问题似乎消失了。
请参阅: https : //github.com/MSOpenTech/redis/issues/289