2012-06-07 2 views
2

Zend/Cache/Core.php에는 [a-zA-Z0-9_] 키에 허용되는 문자를 제한하는 _validateIdOrTag 함수가 있습니다.Zend_cache에서 memcache 키의 유효성 검사를 비활성화하십시오.

1 : 아래의 내용은 documentation의 의미입니까?

주의 :이 백엔드와 "태그"는 "doNotTestCacheValidity = true"를 인수로 현재 지원되지 않습니다.

그렇다면 2 : 왜 이러한 제한을 적용합니까? (- 또는 /과 같은 문자를 사용하여 URL 내용을 캐시하는 것은 매우 일반적이므로 memcache pecl 확장자는 이러한 문자를 허용합니까?)

그렇지 않은 경우 Q3 : 해당 제한을 해제 할 수있는 옵션이 있습니까? (나는 찾을 수 없었다)?

답변

1

1. 태그

태그는 그룹 세트로 함께 항목을 캐시 및 태그를 실시하고이를 근거로이 세트를 돌연변이 수 있습니다. 예를 들어, 블로그에서 모든 게시물을 캐싱하고 "post"으로 태그를 지정할 수 있습니다. 그런 다음 "post" 태그가 지정된 항목을 모두 동시에 삭제할 수 있습니다. 그러나 이것은 현재 Memcache에서 지원되지 않습니다.

2. 키 제한

제한은 캐시의 내용이 아니라 키에 액세스하는 데 사용됩니다. 따라서 원하는 URL, 특수 문자 등을 저장할 수 있습니다. 키에 키가 들어 있지 않은지 확인해야합니다.

걱정 되시면 올바른 키인지 확인하고 사용하시기 바랍니다.

+0

'tags '에 대한 설명 주셔서 감사합니다. 매우 편리합니다. 'keys'와 관련해서는 아마도 충분히 명확하지 않았을 것입니다. 예를 들어, URL로 키를 사용하는 것입니다. 예를 들어 웹 서버에서 직접 콘텐츠를 제공하는 것입니다 (http://www.igvita.com/2008/02)./11/nginx-and-memcached-a-400-boost /). 나는 여전히'Zend_Cache'가 그러한 제한을 부과하는 이유를 모르지만,'memcached'는 영숫자가 아닌 키로 완벽하게 찾아 낼 수 있습니다. 왜 이것을 가져 가야합니까? – Max

+0

'md5' : 해결 방법 저는 충돌로 인해 응용 프로그램이 다른 콘텐츠 유형에 대해 동일한 키를 사용하게하는 데 사용하기를 꺼립니다. 오히려'base64' 나 다른 비 해싱 메소드를 사용하고 싶지만 제 경우에는'Zend_Cache'를 사용하지 않고 대신이 제한을 없앨 수 있다면'Pecl memcache'를 사용합니다 (소스 코드를 재 작성하지 않고), 영숫자가 아닌 문자를 키에 사용할 수 있다는 것이 너무 중요합니다. – Max

관련 문제