Со ссылкой на этот пост: Как реализовать подсчет тегов
Я полностью реализовал предложенную систему тегов из 3 таблиц. Чтобы подсчитать количество статей на тег, я использую другой столбец с именем tagArticleCount в таблице определения тегов. (остальные столбцы: tagId, tagText, tagUrl, tagArticleCount).
Если я реализую редактирование этой таблицы в реальном времени, так что всякий раз, когда пользователь добавляет другой тег в статью или удаляет существующий тег, таблица tag_definition_table обновляется для обновления счетчика добавленного/удаленного тега. Это будет стоить дополнительного запроса каждый раз, когда вносятся какие-либо изменения. (при этом запись связанной ссылки для тега и статьи удаляется из tagLinkTable).
Альтернативой этому является запрет на редактирование счетчика в реальном времени, вместо этого используйте CRON для обновления счетчика каждого тега по истечении указанного периода времени. А вот и проблема, которую я хочу обсудить. Это можно рассматривать как кэширование количества статей в базе данных. Не могли бы вы помочь мне найти способ представить статьи в списке, когда тег изучен и когда счетчик статей для этого тега не актуален. Например: 1. Счетчик показывает 50 статей, но на самом деле в таблице ссылок тегов (которая связывает теги и статьи) 55 записей. 2. Счетчик показывает 50 статей, но на самом деле в таблице ссылок тегов 45 статей.
Как обрабатывать эти 2 сценария, приведенные в примере. Я собираюсь использовать APC для хранения кеша этих счетчиков. Учтите это и в своем решении. Также обсудите производительность в режиме реального времени/обновления счетчика CRONNED.