我们正在通过enyim使用memcached 1.2.4,并且发现很难获得一些缓存的对象。如果我观看memcache控制台,它只是说'NOT_STORED'。
我认为我们需要使用[serializable],但这并不总是有效。我找不到任何文档或相关的谷歌点击。
这里有人有任何线索吗?
由于
答案 0 :(得分:3)
强烈建议升级您的memcached版本。
NOT_STORED意味着,您的数据未存储。如果使用add
命令存储数据,则表示该密钥下已有数据。如果您使用的是replace
,则表示该密钥下的不是数据。你可能只是set
。
答案 1 :(得分:0)
谢谢,对不起,迟到了。
问题是双重的。使用[Serializable]不适合某些对象,因此我们必须实现ISerializable。我们也使用ADD而不是SET。
从内存中我找不到memcached的升级版本,一旦修复了上面的内容就行了。
干杯
答案 2 :(得分:0)
我有这个问题......我正在运行类似的东西:
var = CACHE.fetch("key_name",1.day,true) do
ModelName.find_by_id(id)
end
所以我有活动记录为我找到了一条记录,但我不知道memcached没有存储nil值。发生的事情是活动记录返回零,因为它无法找到记录,因此我告诉memcache存储零值。修复只是这个:
var = CACHE.fetch("key_name",1.day,true) do
ModelName.find_by_id(id) || ""
end
我使用Ruby来编写代码。希望这会有所帮助。