在Zend_cache中禁用对内存缓存密钥的有效性检查


Disable validity check on memcache key in Zend_cache

Zend/Cache/Core.php有一个_validateIdOrTag函数,该函数将键中允许的字符限制为[a-zA-Z0-9_]

Q1:是文档中以下引用的意思吗?

小心:对于此后端,不支持"标签" 时刻作为"doNotTestCacheValidity=true"参数。

如果是这样,问题2:为什么要施加这样的限制?(使用 -/ 等字符来缓存 URL 内容很常见,memcache pecl扩展名确实允许这些字符)?

如果没有,问题3:是否有禁用该限制的选项?(我找不到)?

1. 标签

标签允许您将缓存的项目组合到集合中,并根据标记改变这些集合。例如,在博客中,您可以缓存所有帖子并用 "post" .然后,您可以同时删除所有带有"post"标记的项目。但是,memcache目前不支持此功能。

2. 主要限制

限制不在于缓存的内容,而在于用于访问它们的密钥。因此,您可以存储所需的任何内容,URL,特殊字符等。您只需要确保您的密钥不包含它们。

如果您担心它,只需 md5 您的密钥以确保它是有效的密钥并使用它。