2010-07-01 32 views
3

(我可能會完全關閉在我的理解,但在這裏我還是想問。)應用程序引擎 - 的MemcacheService命名空間

的MemcacheServiceFactory可以返回給定命名空間的MemcacheService實例。

一個應用程序是否可以爲多個名稱空間請求MemcacheService實例?如果是,可以使用命名空間作爲分組概念嗎?

例如,假設我的模型有文件夾和文件,我使用文件夾名稱作爲名稱空間。我可以將屬於某個文件夾的文件的緩存數據存儲在MemcacheService實例中,並將該文件夾的名稱作爲命名空間。當我刪除文件夾時,我只需清除此MemcacheService實例中的所有條目,而不影響任何其他文件夾或文件。

感謝, Keyur

回答

6

是的,你可以得到服務實現同一應用程序內的任何數量的命名空間。命名空間旨在使用同一應用程序中的memcache服務在不同的關注點之間進行區分,以消除爲了避免衝突而損壞密鑰的需要。

您描述的方法將不起作用,因爲無法獲取名稱空間中所有鍵的列表,也無法清除某個特定名稱空間(僅限整個memcache)中的所有鍵。

+1

謝謝,尼克。我的印象是clearAll()只能在一個特定的命名空間中清除鍵。但正如你所提及的,正如javadoc所證實的那樣,情況並非如此。 – Keyur 2010-07-01 18:55:55

相關問題