Для этого проекта кэш - это фактически 3 типа готовых рендеров для одного материала, которые должны быть кэшированы:
1. HTML-рендер каждой отдельной публикации
2. HTML-рендер одного элемента в списке ленты (с временем публикации, тегами, просмотрами, лайками и прочим).
3. HTML-рендер одного элемента для отображения в баре (похожие публикации, самые просматриваемые, самые комментируемые и т.д.)
Всё остальное - это манипуляция с ID-шниками в БД.
Самое важное: таблица привязки материалов (id) к пользователям ("динамическая лента") при их создании(+ подписке/отписке на тег(и)/автора(ов) и т.д.) на основе предпочтений! Это сильно сэкономит время формирования (выборки) ленты (перечня id-шников) для конкретного пользователя.
UPD: По выбору фреймворка - см.
тут.