2014-02-11 2 views
1

데이터베이스와 memcache를 동기화 된 상태로 유지하는 방법에 대한 좋은 제안을 찾지 못했습니다. 웹 응용 프로그램에서 MySQL 5.5.28, Zope 2.12.19를 사용합니다.memcache와 MySQL 동기화하기

그래서 제안 사항 중 일부는 memcache (캐시 적중)에서 선택하면 캐시에서 데이터를 전송하는 것과 같습니다. 이 캐시가 + 효화되고 캐시가 다시 채워지도록 데이터가 데이터베이스에서 다시 선택됩니다. 하지만 데이터베이스 운영이 비싸기 때문에 우선 캐시를 사용하기로했습니다. 그렇다면이 문제는 어떻게 빠른 액세스 문제를 해결할 수 있습니까?

다른 해결책은 소스 테이블에서 트리거를 사용하여 memcache를 업데이트하는 것 같습니다. 이것이 어떻게 행해지는지 모르겠으므로 이것에 대한 모든 의견을 환영 할 것입니다.

답변

1

다음은 위의 질문에서 찾을 수있는 최상의 솔루션 링크입니다.

빠르게 변화하는 데이터가있는 캐시 사용에 대해 언급 한 첫 번째 질문에 대한 대답입니다. 데이터가 자주 변경되는 경우 캐싱이 이상적이지 않습니다. 적은 수의 사용자로도 마찬가지입니다. 웹 사이트에 대한 조회수가 증가하면 다음 접근 방식을 사용할 때 캐싱이 매우 유용합니다.

INSERT, UPDATE 또는 DELETE 작업은 캐시를 무효화하는 트리거를 호출합니다. 페이지가로드되면 SELECT가 사용되며 결과 데이터는 다시 변경 될 때까지 캐시에 저장됩니다. 이렇게하면 각 테이블에서 INSERT, UPDATE, DELETE에 대한 트리거를 사용하여 시스템 전체에서 응용 프로그램의 코드를 수정하지 않아도됩니다. SELECT 만 SELECT 코드에서 처리해야합니다. 캐시를 조작하는 트리거를 사용하는 방법에 대한 내 두 번째 질문에 대해서는

, 아래 링크는 내 질문에 대답에 extemely 유용하게 사용

http://code.openark.org/blog/mysql/using-memcached-functions-for-mysql-an-automated-alternative-to-query-cache.