2011-02-25 39 views
1

我的新PHP應用程序可以通過緩存一些MySQL結果加快速度。 我對memcached的經驗有限,但我不認爲它可以做我需要的東西。Memcache替代品,更多控制

由於我在一個多用戶應用程序的工作,我想能夠刪除一次幾個存儲的值不刪除一切

所以我可以存儲:

account_1.value_a = foo 
account_1.value_b = bar 
account_2.value_a = dog 
account_2.value_b = cat 

是否有一個緩存系統,將允許基於一個通配符(或類似的方法),如我刪除離開我「刪除ACCOUNT_1。*」:

account_1.value_a = <unset> 
account_1.value_b = <unset> 
account_2.value_a = dog 
account_2.value_b = cat 

感謝, 吉姆

回答

4

並非如此,但可以通過在您的密鑰中使用版本號來僞造它。

例如,如果你使用的鍵是這樣的:

{entitykey}.{version}.{fieldname} 

所以,現在你account_1對象鍵是:

account_1.1.value_a 
account_1.1.value_b 

當你想從緩存中刪除account_1,只是遞增該對象的版本號。現在,您的鑰匙將是:

account_1.2.value_a 
account_1.2.value_b 

你甚至都不需要刪除原來的緩存值 - 它們會自動掉出高速緩存的,因爲你將不再使用它們。