2013-06-26 45 views
1

存儲在Memcached中的項似乎沒有理由地消失(TTL:86400,但有時在60s內消失)。然而,有足夠的可用空間,統計數據可以實現零驅逐。零逐出memcached,但項目仍然消失

迷失的物品似乎是更大的物品。在添加一些其他大項目後,它們似乎消失了。情況是否如此?大塊物品的「厚板」已滿,物品被驅逐而未被舉報?

Memcached 1.4.5版。

+0

您是否曾經能夠檢索這些項目?失蹤有多可預測?你能寫一個完全重現問題的代碼片段嗎? – bitgarden

+0

你是否曾經能夠檢索這些項目? 是的,有時候我可以很長時間地找回它們,有時它會在60秒以內消失。 失蹤有多可預測? 完全不可預知。 你能寫一個完全重現問題的代碼片段嗎? – Robbert

+0

我無法編寫重現問題的代碼。我認爲這與板坯充滿而不是代碼有關。我希望得到證實,物品可以在沒有驅逐的情況下在沒有時間的情況下拋出(這是不太可能的,但是我能想出的唯一的東西)。 – Robbert

回答

0

密鑰可以在memcached到期前被驅逐;這是memcached如何處理內存的一個副作用(see this answer for more details)。

如果您正在存儲的項目足夠大以至於成爲問題,則memcached可能是您嘗試執行的任務的錯誤工具。你基本上是在這種情況下2周切實可行的方案:

  • 向下突破你想緩存較小的塊
  • 如果這不是出於任何原因可行的數據,你將必須使用某種永久性存儲,其性質將取決於您試圖存儲的數據的性質(選擇將包括redis,mongodb,SQL數據庫,文件系統等)
+0

但memcached報告0驅逐。我有同樣的問題。 – kagronick

相關問題