我在Windows Server x64上使用redis 2.6.12配置:maxmemory 45GB,内存策略volatile-ttl(我的所有密钥都有ttl,但它们永远不会有机会到期,因为过期时间是在几个之后年份)。在一天中,在某个小时,我使用BGSAVE创建转储。内存大部分时间都是完整的,因为我总是添加新密钥,并且最旧的密钥被逐出。
问题是,偶尔,在数据库保存后,redis也会立即删除所有密钥,内存从45GB降至0GB,50,000个密钥降至0个密钥。
为什么会发生这种情况,如何在不删除所有密钥的情况下将数据库保存在后台?
以下是redis.log文件的一部分:
[708] 22 Jan 05:27:30.422 - 1个客户端已连接(0个从属),45080973592个字节正在使用中[708] 22 Jan 05:27:35.894 - DB 0:49424密钥(49424 volatile)在65536插槽HT。
[708] 22 Jan 05:27:35.894 - 1个客户端连接(0个从属),45090250204字节在使用中[708] 22 Jan 05:27:41.348 - DB 0: 65536个插槽中的49393个键(49393易失性)HT。
[708] 22 Jan 05:27:41.348 - 连接1个客户端(0个从属),使用中45081280352个字节
[708] 22 Jan 05:27 :46.812 - 数据库0:49394密钥(49394易失性)在65536个插槽HT中。
[708] 22 Jan 05:27:46.812 - 1个客户端已连接(0个从属服务器),45087803712字节在使用中
[708 ] 22 Jan 05:27:52.086 - 接受192.168.2.11:65374
[708] 22 Jan 05:27:52.211 - 客户关闭连接
[708] 22 Jan 05:27:52.274 - DB 0 :65536个插槽HT中49396个密钥(49396易失性)。
[708] 22 Jan 05:27:52.274 - 连接1个客户端(0个从属服务器),使用中45087804476个字节
[708] 2005年1月22日: 27:57.746 - 65536插槽HT中的DB 0:49397键(49397易失性)。
[708] 22 J an 05:27:57.746 - 1个客户端连接(0个从属),45087772152个字节正在使用中[708] 22 Jan 05:28:03.183 - DB 0:49365密钥(49365易失性)在65536个插槽HT中。
[708] 1月25日28:28:03.183 - 连接1个客户端(0个从属服务器),使用中45089964620个字节
[708] 22 Jan 05:28:08.637 - DB 0:49367密钥(49367 volatile)in 65536插槽HT。
[708] 22 Jan 05:28:08.637 - 1个客户端已连接(0个从属),45090411120个字节在使用中[708] 22 Jan 05:28:14.091 - DB 0:49393 65536插槽HT中的密钥(49393易失性)。
[708] 22 Jan 05:28:14.091 - 连接1个客户端(0个从属服务器),使用中45091947976个字节
[708] 22 Jan 05:28: 19.550 - 数据库0:49393密钥(49393易失性)在65536个插槽中HT。
[708] 22 Jan 05:28:19.550 - 1个客户端连接(0个从属),45091947976字节在使用中[708] 22 Jan 05:28:25.006 - 数据库0:49393密钥(49393易失性)在65536个插槽中HT。
[708] 22 Jan 05:28:25.006 - 1个客户端已连接(0个从属服务器),45091947976个字节在使用中< br> [708] 22 Jan 05:28:30.443 - DB 0:49395键(49395 65536插槽HT中。(708)22 Jan 05:28:30.443 - 1个客户端连接(0个从属),45086710236字节在使用中[708] 22 Jan 05:28:35.894 - DB 0:49453密钥(49453易失性)在65536个插槽HT中。
[708] 22 Jan 05:28:35.894 - 1个客户端连接(0个从属),45090443368字节在使用中[708] 22 Jan 05 :28:41.388 - 数据库0:49468密钥(49468易失性)在65536个插槽HT中。
[708] 22 Jan 05:28:41.388 - 1个客户端已连接(0个从属服务器),45095827040字节在使用中
[708] 1月25日28:28:46.861 - 在65536个槽HT中,DB 0:49512键(49512易失性)。
[708] 22 Jan 05:28:46.861 - 连接1个客户端(0个从属),45095224584个字节in use use
[708] 22 Jan 05:28:52.293 - DB 0:49490键(49490易失性)在65536个插槽中HT。
[708] 22 Jan 05:28:52.293 - 1个客户端连接( 0个奴隶),45096285456字节在使用
[708] 22 Jan 05:28:57.754 - DB 0:49505 keys(49505 volatile)in 65536 slots HT。
[708] 22 Jan 05:28: 57.754 - 连接1个客户端(0个从属),45095954716个字节正在使用中[708] 2 2月05日29:03.202 - 数据库0:49393密钥(49393易失性)在65536个插槽HT中。
[708] 22 Jan 05:29:03.202 - 1个客户端已连接(0个从属服务器),45086445608个字节在使用中< br> [708] 22 Jan 05:29:06.962 - 接受192.168.2.11:65462
[708] 22 Jan 05:29:06.978 * cowBkgdSaveReset删除0 SDS和0件物品
[708] 22 Jan 05:29:06.978 - 客户关闭连接
[708] 22 Jan 05:29:08.634 - 数据库0:49402密钥(49402易失性)在65536个插槽中HT。
[708] 22 Jan 05 :29:08.634 - 1个连接的客户端(0个从属),45094333732字节在使用中[708] 22 Jan 05:29:09.993 *已过去COW DB到期时间46874
[708] 22 Jan 05:29 :14.384 - 连接1个客户端(0个从属),使用中45105573900个字节
[708] 22 Jan 05:29:19.853 - 连接1个客户端(0个从属服务器),使用中45104530004个字节
[708] 22 Jan 05:29:25.306 - 1个客户端连接(0个从属),45099816224个字节正在使用中[708] 22 Jan 05:29:30.775 - 1个客户端连接(0个从属),45099575628个字节在使用中
[708] 1月22日:29:36.243 - 1个客户公司nnected(0个奴隶),45137384392字节正在使用
[708] 22 Jan 05:29:41.712 - 1个客户连接(0个奴隶),45104533564字节在使用
[708] 22 Jan 05:29: 47.181 - 1个客户端连接(0个从属),45099437328个字节正在使用中[708] 22 Jan 05:29:52.651 - 1个客户端连接(0个从属),45110374948个字节在使用中[708] 22 Jan 05:29:58.120 - 连接1个客户端(0个从属),使用中45104543108个字节
[708] 22 Jan 05:30:03.589 - 连接1个客户端(0个从属),使用中45104530980个字节
[ 708] 1月25日30:30:09.058 - 1个客户端连接(0个从属),45115479704个字节正在使用中[708] 22 Jan 05:30:14.526 - 1个客户端已连接(0个从属服务器),45099701388个字节在使用中< br> [708] 1月25日30:30:19.995 - 连接1个客户端(0个从属),使用中45104465668个字节
[708] 22 Jan 05:30:25.464 - 连接1个客户端(0个从属),45110009964正在使用的字节数[708] 22 Jan 05:30:30.933 - 1个客户端已连接(0个从属),45110016116个字节正在使用中[708] 22 Jan 05:30:36.401 - 1个客户端已连接(0奴隶),4正在使用5104530348字节
[708] 22 Jan 05:30:41.870 - 连接1个客户端(0个从属),使用中45104530976字节
[708] 22 Jan 05:30:47.339 - 连接1个客户端( 0个从站),45112236848字节正在使用
[708] 22 Jan 05:30:52.808 - 1个客户端连接(0个从站),45115479704字节在使用中[708] 22 Jan 05:30:58.276 - 1个客户端连接(0个从属),45099272652个字节正在使用中[708] 22 Jan 05:31:03.745 - 1个客户端连接(0个从属),45104545068字节在使用中[708] 2005年1月22日: 31:09.214 - 连接1个客户端(0个从属),使用中45110007152个字节
[708] 22 Jan 05:31:14.683 - 连接1个客户端(0个从属),使用中45115480280个字节
[708] 1月22日:31:20.151 - 连接1个客户端(0个从属),使用中45104532396个字节
[708] 22 Jan 05:31:25.620 - 连接1个客户端(0个从属服务器),正在使用45099229368个字节
[708] 1月25日31:31:31.089 - 连接1个客户端(0个从属),使用中45130679280个字节
[708] 22 Jan 05:31:36.558 - 连接1个客户端(0个从属),45105333432个字节ü se
[708] 22 Jan 05:31:42.026 - 连接1个客户端(0个从属),使用中45105391176个字节
[708] 22 Jan 05:31:47.495 - 连接1个客户端(0个从属) ,45102300088字节正在使用
[708] 22 Jan 05:31:52.964 - 1个客户端已连接(0个从属服务器),45105826172个字节正在使用中[708] 22 Jan 05:31:58.433 - 已连接1个客户端(0个从站),45105884184字节正在使用中[708] 22 Jan 05:32:03.901 - 连接1个客户端(0个从站),使用中45105884932个字节
[708] 22 Jan 05:32:09.370 - 连接1个客户端(0个从属),使用中45105888636个字节
[708] 22 Jan 05:32:14.839 - 连接1个客户端(0个从属),使用中45106173124个字节
[708] 22 Jan 05 :32:20.308 - 连接1个客户端(0个从属),使用中45101461260个字节
[708] 22 Jan 05:32:25.776 - 连接1个客户端(0个从属),使用中45111657188个字节
[708 ] 1月22日:32:31.245 - 连接1个客户端(0个从属),使用中45106176332个字节
[708] 22 Jan 05:32:36.714 - 连接1个客户端(0个从属服务器),使用中45139031340个字节/> [708] 1月22日0 5:32:42.184 - 连接1个客户端(0个从属),使用中45117175000个字节
[708] 22 Jan 05:32:47.653 - 连接1个客户端(0个从属),使用中45121180196个字节
[ 708] 2014年1月22日:32:53.122 - 连接1个客户端(0个从属),使用中45110913708个字节
[708] 22 Jan 05:32:54.626 * DB保存在磁盘上[708] 22 Jan 05:32:54.658 *背景保存终止成功
[708] 22 Jan 05:32:54.658 * cowBkgdSaveReset删除49403 SDS和99937 obj项目
[708] 22 Jan 05:33:11.689 - 1客户端已连接(0个从属),1876072字节正在使用中[708] 22 Jan 05:33:17.162 - DB 0:2个密钥(2个易失性)在4个插槽HT中。
[708] 22 Jan 05 :33:17.162 - 1个客户端连接(0个从属),828360个字节在使用中[708] 22 Jan 05:33:22.616 - DB 0:2个键(2个易失性)在4个插槽HT中。
[708] 1月25日:33:22.616 - 1个客户端连接(0个从属),828360个字节正在使用中[708] 22 Jan 05:33:28.064 - DB 0:6个密钥(6个易失性)在8个插槽中HT。
[708] 22 Jan 05:33:28.064 - 连接1个客户端(0个从属),8305 04字节在使用
[708] 22 Jan 05:33:33.493 - DB 0:6个键(6个易失性)在8个插槽中HT。
[708] 22 Jan 05:33:33.493 - 1个客户端连接(0个从设备),830488字节在使用中[708] 22 Jan 05:33:38.930 - DB 0:13个键(13个易失性)在16个插槽HT中。
[708] 22 Jan 05: 33:38.930 - 1个客户端连接(0个从属),1190160个字节正在使用中[708] 22 Jan 05:33:44.399 - DB 0:16个密钥(16个易失性)在16个插槽HT中。
[ 708] 22 Jan 05:33:44.399 - 1个客户端连接(0个从属),1098216个字节在使用中[708] 22 Jan 05:33:49.852 - DB 0:18个密钥(18个易失性)在32个插槽HT 。[708] 22 Jan 05:33:49.852 - 连接1个客户端(0个从属),使用1099428个字节
[708] 22 Jan 05:33:55.311 - DB 0:22键(22挥动)在32个槽HT。
请帮忙吗?
答案 0 :(得分:1)
因为这看起来像一个错误,这就是我的建议:
fork()
)(请注意,dmajkic的分叉与2.4一样大)