2014-01-22 89 views
0

我在配置:maxmemory 45GB,內存策略volatile-ttl(我所有的密鑰都有ttl,但他們永遠不會有機會過期的Windows Server x64上使用redis 2.6.12,因爲到期時間在幾年之後)。一旦在一天內,在某個小時,我使用BGSAVE創建轉儲。內存在大部分時間裏都是完整的,因爲我總是添加新的密鑰,而最老的密鑰被驅逐。Redis在BGSAVE後立即刪除我的所有密鑰

問題是,在數據庫保存之後,Redis還會立即刪除所有密鑰,並將內存從45GB降至0GB,將50,000個密鑰刪除至0個密鑰。

爲什麼會發生這種情況,以及如何在不刪除所有密鑰的情況下在後臺保存數據庫?

這裏是redis.log文件的一部分:

[708] 05年1月22日:27:30.422 - 1客戶端連接(0從站),在使用中
45080973592個字節[708] 05年1月22日: 27:35.894 -DB 0:49424個鍵(49424易失性)在65536個插槽HT中。
[1] 22 Jan 05:27:35.894 - 1個客戶端連接(0個從屬),45090250204個字節在使用
[1] 22 Jan 05:27:41.348 - DB 0:49393個密鑰(49393易失性)在1505個插槽HT中的數據庫0:49394密鑰(49394易失性)。1:[1] 22 Jan 05:27:41.348 - 1個客戶端已連接(0個從屬),45081280352個字節。
[708] 22 Jan 05:27:46.812 - 1個客戶端已連接(0個從屬),45087803712個字節在使用
[708] 22 Jan 05:27:52.086 - Accepted 192.168.2.11:65374
[708] 22 Jan 05: 27:52.211 - 客戶端關閉連接
[1] 22 Jan 05:27:52.274 - DB 0:49396鍵(49396易失性)在65536個插槽HT中。數據庫0:49397密鑰(49397易失性)在65536個插槽中HT:1個用戶連接(0個從屬),45087804476個字節使用
[708] 1月22日:27:52.274 - 22 Jan 05:27:57.746 - 1個客戶端連接(0個從站),45087772152個字節在使用
22 Jan 05:28:03.183 - DB 0:49365密鑰(49365易失性)在65536個插槽HT中。在1505個插槽HT中的DB 0:49367密鑰(49367易失性)。在1505個插槽HT中的DB 0:49393密鑰(49393易失性)。在1505個插槽HT中的DB 0:49393個密鑰(49393易失性)。在一個65536個插槽HT中,DB 0:49393個密鑰(49393個易失性存儲器)。在1505個插槽HT中的數據庫0:49395密鑰(49395易失性)。01:05 05:28:25.006 - 1客戶端已連接(0個從站),45091947976使用中的字節
[708] 22 Jan 05:28:30.443。數據庫0:49453密鑰(49453易失性)在65536個插槽中HT:1個用戶連接(0個從屬),45086710236個字節使用
[708] 1月22日05:28:30.443 -
22 Jan 05:28:35.894 - 1個客戶端連接(0個從站),45090443368個字節在使用
22 Jan 05:28:41.388 - DB 0:49468個密鑰(49468個易失性)在65536個插槽HT中。數據庫0:49512密鑰(49512易失性)在65536個插槽HT中。(705)22/01 05:28:41.388 - 1個客戶端連接(0個從屬),45095827040個字節正在使用
[1]
22 Jan 05:28:46.861 - 1個客戶端已連接(0個從站),45095224584個字節正在使用
22 Jan 05:28:52.293 - DB 0:49490個密鑰(49490個易失性)在65536個插槽HT中。 (0從屬),45096285456字節使用
[708] 22 Jan 05:28:57.754 - 數據庫0:49505密鑰(49505易失性)在65536個插槽HT中。
[708] 1月22日05:28:57。754-1個客戶端已連接(0個從站),45095954716個字節正在使用
[1] 22 Jan 05:29:03.202 - DB 0:49393個密鑰(49393易失性)在65536個插槽HT中。
[708] 22 Jan 05:29:03.202 - 1個客戶端連接(0個從屬),45086445608字節在使用
[708] 22 Jan 05:29:06.962 - Accepted 192.168.2.11:65462
[708] 22 Jan 05: 29:06.978 * cowBkgdSaveReset刪除0 SDS和0 obj項目
[708] 22 Jan 05:29:06.978 - 客戶端關閉連接
[1] 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] 29:14.384 - 1個客戶端連接(0個從站),45105573900個字節在使用
[708] 22 Jan 05:29:19.853 - 1個客戶端連接(0個從站),45104530004個字節在使用
[708] 1月22日05:29: 25.306 - 1個客戶端已連接(0個從站),45099816224個字節在使用
[708] 22 Jan 05:29:30.775 - 1個客戶端連接(0個從站),45099575628個字節在使用
[708] 22 Jan 05:29:36.243 - 1客戶端連接(0從屬),45137384392字節在使用
[708] 22 Jan 05:29:41.712 - 1客戶端連接(0從屬),45104533564使用的字節
[708] 22 Jan 05:29:47.181 - 1客戶端連接(0從屬),45099437328使用的字節
[708] 1月22日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] 22 Jan 05:30:09.058 - 1個客戶端連接(0個從站),45115479704個字節在使用
[708] 1月22日05:30:14.526 - 1客戶端已連接(0個從站),45099701388個字節正在使用
[708] 22 Jan 05:30:19.995 - 1個客戶端已連接(0個從站),45104465668個字節正在使用
[708] 22 Jan 05:30:25.464 - (0從屬),45110009964字節使用
[708] 22 Jan 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客戶(0奴隸),45104530976使用的字節
[708] 22 Jan 05:30:47.339 - 1客戶端連接(0奴隸),45112236848字節在使用
[708] 1月22日05:30:52.808 - 1客戶端連接0奴隸),45115479704使用的字節
[708] 22 Jan 05:30:58.276 - 1客戶端連接(0從屬),45099272652使用的字節
[708] 22 Jan 05:31:03.745 - ),45104545068使用的字節
[708] 22 Jan 05:31:09.214 - 1個客戶端已連接(0個從屬),45110007152個字節正在使用
[708] 22 Jan 05:31:14.683 - 1個客戶端已連接(0個從屬), 45115480280使用中的字節
[708] 22 Jan 05:31:20.151 - 1個客戶端已連接(0個從屬),45104532396個字節正在使用
[708] 22 Jan 05:31:25.620 - 1個客戶端已連接(0個從屬),45099229368個字節正在使用
[708] 22 Jan 05:31:31.089 - 1個客戶端已連接(0個從站(0奴隸),45105333432使用的字節
[708] 22 Jan 05:31:42.026 - 1客戶端連接(0從屬),45130679280使用的字節
[708] 22 Jan 05:31:36.558 - ,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年1月22日:32:20.308 - 1客戶端連接(0奴隸),45101461260 byt es使用
[708] 22 Jan 05:32:25.776 - 1個客戶端已連接(0個從屬),45111657188​​個字節正在使用
[708] 22 Jan 05:32:31.245 - 1個客戶端已連接(0個從屬),45106176332個字節使用
[708] 1月22日05:32:36。714 - 1個客戶端已連接(0個從站),45139031340個字節在使用
[708] 22 Jan 05:32:42.184 - 1個客戶端連接(0個從站),45117175000個字節在使用
[708] 22 Jan 05:32:47.653 - 1個客戶端連接(0個從站),45121180196字節在使用
[708] 22 Jan 05:32:53.122 - 1個客戶端連接(0個從站),45110913708個字節在使用
[1] 22 Jan 05:32:54.626 * DB已保存磁盤上的
[708] 22年1月22日: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 - 4個時隙HT中的DB 0:2密鑰(2個易失性)。
[708] 22 Jan 05:33:17.162 - 1個客戶端連接(0個從站),828360個字節在使用
[1] 22 Jan 05:33:22.616 - DB 0:2個密鑰(2個易失性)
[708] 22 Jan 05:33:22.616 - 1個客戶端已連接(0個從站),828360個字節正在使用
[708] 22 Jan 05:33:28.064 - DB 0:6個密鑰(6個易失性)
[708] 22 Jan 05:33:28.064 - 1個客戶端連接(0個從站),830504個字節在使用
[1] 22 Jan 05:33:33.493 - DB 0:6個密鑰(6個易失性)
[708] 22 Jan 05:33:33.493 - 1個客戶端連接(0個從站),830488個字節在使用
[1] 22 Jan 05:33:38.930 - DB 0:13個密鑰(13個易失性)
[708] 22 Jan 05:33:38.930 - 1個客戶端連接(0個從站),1190160個字節在使用
22 Jan 05:33:44.399 - 16個HT中的DB 0:16個密鑰(16個易失性)。
[708] 22 Jan 05:33:44.399 - 1個客戶端連接(0個從站),1098216個字節在使用
[1] 22 Jan 05:33:49.852 - DB 0:18個密鑰(18個易失性)
[708] 22 Jan 05:33:49.852 - 1個客戶端連接(0個從站),1099428個字節在使用
[1] 22 Jan 05:33:55.311 - DB 0:22個密鑰(22個易失性)

請幫忙嗎?

+0

這聽起來像一個錯誤。爲什麼不在你的Windows機器上「構建」最新版本的Redis? –

+0

@Manu我該怎麼做,請給我幾個指示?我找到了一個redis.exe版本2.6.14,但redis.exe 2.6.12版本的Redis監視器服務(負責保持redis.exe進程保持活動狀態)不起作用。 – user1037955

回答

1

由於這看起來像一個錯誤,這是我的建議:

(請注意,dmajkic的叉子一樣古老2.4)

+0

非常感謝,我會試一試。對不起,我不能投你答案,因爲我沒有足夠的聲望。 – user1037955

相關問題