config.yml 파일에서 DoctrineCacheBundle에 대한 여러 네임 스페이스를 설정할 수 있음을 알고 있습니다. 하지만 하나의 드라이버를 사용할 수 있지만 여러 개의 네임 스페이스를 사용할 수 있습니까?DoctrineCacheBundle에서 여러 네임 스페이스를 사용하는 방법 cacheDriver?
내 경우에는 모든 항목에 대한 모든 쿼리를 캐시하고 싶습니다. 문제는 생성/업데이트 작업을하면서 캐시를 비우는 것입니다. 내 캐시 된 쿼리의 일부만 플러시하고 싶습니다. 내 앱은 여러 클라이언트에서 사용됩니다. 예를 들어 기사 엔터티에서 클라이언트가 자신의 데이터에서 sth을 업데이트하면이 클라이언트에 대해서만 캐시를 지우고 싶습니다. 각 쿼리에 대해 적절한 ID를 추가하고 수동으로 제거 할 수 있지만 쿼리는 동적으로 사용됩니다. 내 API 모바일 애플 리케이션에서 DB가 데이터를 반환해야하는 버전 번호를 보내면 결국 어떤 종류의 ID가 사용되는지 알 수 없습니다.
그래서 당신이 metadata_cache, result_cache, QUERY_CACHE에 대해 다음 쿼리를하는 동안 컨트롤러에 DoctrineCacheBundle 사용할 수 있도록 구성, 예를 SncRedisBundle에 사용할 의미, 캐시 $ 캐시 = $ this-> 컨테이너 -> get ('redis_cache'); $ cache-> save ('article_1', $ article); KEY에서 Redis로이 키를 저장 하시겠습니까? $ redis-> append ('client_1', 'article_1')와 비슷합니다. 그리고 업데이트 할 때 $ redis-> delete (array ('key3', 'key4'))를 사용하여 적절한 키를 제거하십시오. ? – Tom
그런 것, 그렇습니다. 결과 캐시를 원한다면 나는 모른다. 나는 그것에 몇 가지 문제가 있었다. 메타 캐시, 쿼리 캐시 만 사용하며 혼자서 결과 캐시를 처리합니다. –