我使用memcache来存储json,它正在工作。但问题是,如果我多次调用该行,缓存大小会增加:
memcache.Client.add(memcache.Client(),"searchindex",json)
所以我查看了memcache查看器,内容仍然相同,因为我使用的密钥已经在缓存上了。但是,即使缓存的大小继续增加。
答案 0 :(得分:5)
首先,这是一种调用实例方法的奇怪方法。通常你会这样做:
memcache.Client().add("searchindex", json)
或者简单地说:
memcache.add("searchindex", json)
由于add
不会覆盖缓存中已存在的密钥,因此重复调用该密钥不会对应用程序的行为产生任何影响。
这些调用是否会增加缓存大小不应该成为一个问题。 Memcache旨在根据最少使用算法,根据应用程序的需要提供内存。来自惰性的垃圾记忆应该首先被add
召唤。