이 게시물을 참조하여 : How to implement tag countingPHP 및 mySQL을 사용하여 태그 지정 시스템 구현. 캐싱 도움말!
나는 제안 된 3 테이블 태깅 시스템을 완벽하게 구현했습니다. 태그 당 기사 수를 계산하려면 태그 정의 테이블에서 tagArticleCount라는 다른 열을 사용하고 있습니다. (다른 열은 tagId, tagText, tagUrl, tagArticleCount입니다.)
사용자가 기사에 다른 태그를 추가하거나 기존 태그를 삭제할 때마다 추가/제거 된 태그의 카운터를 업데이트하도록 tag_definition_table이 업데이트되도록이 표의 실시간 편집을 구현합니다. 이는 수정이있을 때마다 여분의 쿼리 비용이 들게됩니다. (동시에 태그 및 기사에 대한 관련 링크 항목이 tagLinkTable에서 삭제됩니다.)
대신 실시간 편집을 허용하지 않고 CRON을 사용하여 지정된 기간 후에 각 태그의 카운터를 업데이트 할 수 있습니다. 여기 제가 토론하고 싶은 문제가 있습니다. 이것은 데이터베이스의 기사 수를 캐싱하는 것으로 볼 수 있습니다. 태그를 탐색 할 때 및 해당 태그에 대한 기사 카운터가 최신이 아닌 경우 목록에 기사를 표시하는 방법을 찾도록 도와주십시오. 예 : 1. 카운터에 50 개의 기사가 표시되지만 태그 링크 테이블 (태그와 기사를 연결하는 항목)에 55 개의 항목이 있습니다. 2. 카운터에 50 개의 기사가 표시되지만 태그 링크 테이블에 45 개의 내용이 있습니다.
예제에서 주어진이 2 가지 시나리오를 처리하는 방법. APC를 사용하여이 카운터의 캐시를 유지하려고합니다. 당신의 솔루션에서도 그것을 고려하십시오. 실시간/CRONNED 카운터 업데이트의 성능에 대해서도 논의하십시오.