我們通過enyim使用memcached 1.2.4,並且發現難以獲取某些對象來緩存。如果我看着memcache控制檯,它只是說'NOT_STORED'。enyim和memcached:NOT_STORED錯誤
我認爲我們需要使用[serializable],但這並不總是奏效。我找不到任何文檔或相關的谷歌命中。
這裏的任何人都有什麼線索?
謝謝
我們通過enyim使用memcached 1.2.4,並且發現難以獲取某些對象來緩存。如果我看着memcache控制檯,它只是說'NOT_STORED'。enyim和memcached:NOT_STORED錯誤
我認爲我們需要使用[serializable],但這並不總是奏效。我找不到任何文檔或相關的谷歌命中。
這裏的任何人都有什麼線索?
謝謝
非常感謝和抱歉的回覆。
問題是雙重的。使用[Serializable]不適合某些對象,所以我們必須實現ISerializable。我們也使用ADD而不是SET。
從內存中我找不到memcached的升級,並且一旦我們修復了上面的工作。
乾杯
強烈建議升級您的memcached版本。
NOT_STORED就是這樣,你的數據沒有被存儲。如果您使用add
命令存儲數據,這意味着該密鑰下已有數據。如果您使用的是replace
,則意味着該密鑰下有而不是數據。你可能mea set
。
我有這個問題......我跑是這樣的:
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進行編碼。希望這可以幫助。