젠드 캐시 (APC 백엔드)를 사용하기 시작했으며 매번 데이터베이스를 치는 대신 캐시 된 값을 반환하는 것이 좋습니다. 그러나 heres는 내 문제 :젠드 캐시를 지우는 패턴
$cache_key = 'getrebates_'.$operator_code;
if(PP_Model_CacheService::exists($cache_key)) {
$cached_values = PP_Model_CacheService::load($cache_key);
} else {
//hits the db
$cached_values = $this->getAll($operator_code);
PP_Model_CacheService::save($cached_values, $cache_key);
}
return $cached_values;
나는 데이터베이스를 변경하고 모든 사업자들에게 리베이트를 취소해야하는 경우 각 운영자는 내가 이런 짓을 했을까하는 방법, 지금은 사업자마다 다를 자신의 리베이트를 가지고?
$ Cache-> clean()을 사용할 수 있지만 다른 캐시 (각 운영자의 리베이트 캐시가 아님)가 삭제됩니다. 만약 모든 사업자를 통해 I 루프 : 캐시에 대한 작업을 많이처럼 보인다
foreach($operator_codes AS $operator_code) {
$cache_key = 'getrebates_'.$operator_code;
$cache->delete($cache_key)
}
. 캐시 섹션 만 지울 수 있습니까?
//Something like:
$section_key = 'getrebates';
$Cache[$section_key][$operator_code];
$Cache->clearSection($section_key);
APC 캐시에 대한 배열 구조가 있습니까? 아니면 모든 캐시 키/값 기반입니까?
(APC 제외) ... – regilero
시간 내 주셔서 감사드립니다. regilero가 지적했듯이 APC는 태그를 지원하지 않습니다. 이 경우 백엔드를 사용하여 태그를 지원 하시겠습니까? –
몇 개의 캐시 엔트리가 있습니까? 10 또는 20면 각 항목을 삭제하면됩니다. 필요에 따라 개별 항목 대신 직렬화 된 연관 배열을 캐시에 저장할 수 있습니다. – theduke