2009-11-12 22 views
0

我們通過enyim使用memcached 1.2.4,並且發現難以獲取某些對象來緩存。如果我看着memcache控制檯,它只是說'NOT_STORED'。enyim和memcached:NOT_STORED錯誤

我認爲我們需要使用[serializable],但這並不總是奏效。我找不到任何文檔或相關的谷歌命中。

這裏的任何人都有什麼線索?

謝謝

回答

0

非常感謝和抱歉的回覆。

問題是雙重的。使用[Serializable]不適合某些對象,所以我們必須實現ISerializable。我們也使用ADD而不是SET。

從內存中我找不到memcached的升級,並且一旦我們修復了上面的工作。

乾杯

3

強烈建議升級您的memcached版本。

NOT_STORED就是這樣,你的數據沒有被存儲。如果您使用add命令存儲數據,這意味着該密鑰下已有數據。如果您使用的是replace,則意味着該密鑰下有而不是數據。你可能mea set

0

我有這個問題......我跑是這樣的:

var = CACHE.fetch("key_name",1.day,true) do 
    ModelName.find_by_id(id) 
end 

所以我是有活動記錄給我找一個紀錄,但我不知道memcached的沒有按不存儲零值。發生了什麼活動記錄返回零,因爲它無法找到記錄,因此我告訴memcache存儲一個零值。解決的辦法很簡單:

var = CACHE.fetch("key_name",1.day,true) do 
    ModelName.find_by_id(id) || "" 
end 

我使用Ruby進行編碼。希望這可以幫助。