2012-12-24 95 views
4

我在我的Django應用程序中使用memcachedpylibmc作爲二進制文件。現在我想要從緩存中獲取關鍵值列表。Python:通過通配符獲取memcached鍵值列表

假設我有緩存此鍵值對數據,

{'Key_1':[1,2,3]} {'Key_2':[4,5,6]} {'Key_3':[6,7,8]} 

我可以

cache.get('Key_1') 

得到一個單一的記錄我想所有Key_*數據

cache.get('Key_*') 

任何人都建議一種方式或者有可能嗎?

謝謝!

+0

可能重複。 ygneo的答案可能對你有幫助>> http://stackoverflow.com/questions/9048257/get-list-of-cache-keys-in-django – Amyth

+0

它只是爲了發展,他們不建議它的生產。 – Ahsan

+0

你在生產中使用什麼服務器? – Amyth

回答

2

如果你有字典比你可以做這樣的事情:

import re 
dict = { 'Key_1':[1,2,3], 'Key_2':[4,5,6], 'Key_3':[6,7,8] } 
r = re.compile(r"Key_\d+") // matching expression 
matching_keys = filter(r.match, dict.keys()) 

這樣你就可以得到所有匹配的密鑰,然後簡單地重複這些按鍵。

0

你既可以使用mcdict庫,也可以像普通字典一樣迭代memcached,否則你可以看看mcdict source code並在你自己的代碼中應用相同的技術。