1
我使用memcache來存儲json,它正在工作。但問題是,高速緩存的大小增長,如果我致電上述許多倍線:在AppEngine上添加功能Memcache
memcache.Client.add(memcache.Client(),"searchindex",json)
所以我看着memcache的觀衆和內容仍然是相同的,因爲即時通訊使用密鑰上已有緩存。但是,即使緩存的大小繼續增加。
我使用memcache來存儲json,它正在工作。但問題是,高速緩存的大小增長,如果我致電上述許多倍線:在AppEngine上添加功能Memcache
memcache.Client.add(memcache.Client(),"searchindex",json)
所以我看着memcache的觀衆和內容仍然是相同的,因爲即時通訊使用密鑰上已有緩存。但是,即使緩存的大小繼續增加。
首先,這是調用實例方法的一種非常奇怪的方式。通常你會做到這一點:
memcache.Client().add("searchindex", json)
或者乾脆:
memcache.add("searchindex", json)
由於add
不會覆蓋已經存在於緩存中的關鍵,稱這是一再應該對你的應用程序的行爲沒有任何影響。
無論這些調用是否增加緩存大小都不應該成爲問題。 Memcache旨在根據最少使用算法使應用程序所需的內存可用。來自惰性的垃圾回憶應該首先應該被驅逐出add
。
我擔心memcache大小的增加,因爲我在appengine上收費。我無法避免浪費空間嗎? – user1042043
你在什麼意義上爲內存收費?例如,您需要付費幾個小時,並且實例具有固定數量的內存。如果內存不足,memcache應該開始清除過時的數據並將內存轉回給應用程序。我不明白這會如何導致你被收取更多費用。 –
您不收取Memcache費用。 –