2
Zend/Cache/Core.php
具有_validateIdOrTag
函數,該函數將密鑰中允許的字符限制爲[a-zA-Z0-9_]
。在Zend_cache中禁用對Memcache密鑰的合法性檢查
問題1:documentation下面的引用是什麼意思?
注意:這個後端,「標籤」是不支持 時刻爲「doNotTestCacheValidity =真」的說法。
如果是這樣,問題2:爲什麼要施加這樣的限制? (使用-
或/
等字符來緩存URL內容非常常見,memcache pecl
擴展名確實允許這些字符)?
如果不是,問題3:是否有一個選項可以禁用該限制? (我找不到)?
感謝您對「標籤」的解釋,聽起來非常方便。關於'keys',我可能還不夠清楚:想法是使用'URL'作爲關鍵字,例如直接從您的web服務器提供內容(http://www.igvita.com/2008/02/11/nginx的 - 和 - 的memcached-A-400-升壓/)。我仍然不明白爲什麼'Zend_Cache'強加這樣的限制,'memcached'完全可以用非字母數字鍵找到,所以爲什麼要這樣做。 – Max
關於'md5':解決方法我不願意將其用於碰撞風險,這會導致應用程序對不同的內容類型使用相同的密鑰。我寧願使用'base64'或其他非散列方法,但在我的情況下,如果我無法擺脫這些限制,我根本不會使用'Zend_Cache'並使用'Pecl memcache'而不用重寫源代碼),能夠在密鑰中使用非字母數字字符是非常有價值的。 – Max