Добрый день, на социально-новостном сайте сайте есть таблица новостей вида
id, title, categories, tags
12, название, ',24,11', ',88,125,'
13, название2, ',34', ',28,154,241,'
Хочу добавить функционал чтобы пользователь мог подписаться на обновления из определенной категории новостей или тэга новости, на данный момент это работает так:
SELECT * FROM `posts` WHERE `tags` LIKE ',1400,' OR `tags` LIKE ',1309,' OR `categories` LIKE ',11,' и т д
Подписки пользователя хранятся в таблице вида
userid, tag_id, category_id
1, 23,
1, , 199
После запроса результат сохраняется в файловый кеш который считается актуальным 12 часов, когда пользователь нажимает на кнопку подписаться или отписаться - его кеш удаляется, как можно увеличить производительность этого функционала?
Еще хотелось бы обновлять кеш пользователя при выходе новости подходящей категории, как это лучше осуществить?