Есть: сущность «А» и сущность «Б» и есть меж ними связь мэни ту мэни. Сущностей и связей сейчас пока мало, а будет много.
Есть такой ф-ционал, где выбрав несколько «Б» мы получаем постраничный список всех «А», которые с этими «Б» связаны. Но, при выводе этих «А», под каждым «А» мелким шрифтом перечисляются все «Б» которые связаны с этим конкретным «А» (ну и там еще кое-какие данные, но там все эти группировки, юнионы, для большого кол-ва сущностей будет тяжело).
Что кешировать и как? Руками первым зашедшего пользака или по крону — эти вопросы я не обсуждаю. Тут все понятно и есть из чего выбирать. У меня совсем другой вопрос.
Еще раз, что кешировать и как?
Ну например — делать токен из айдишников «Б» а-ля «bid1-bid2-bid-3-bidN» и ждать его в запросе (или вообще от строки запроса), типа айдишник кеша получается, если кеш есть, то отдавать кеш, если нет, то генерим кеш и сохраняем.
Все просто скажете вы? Неа.
Если некто «модератор1» удалил сущность «Б» которая была связана с парой тысяч сущностей «А». Какие кеши я должен удалить/перегенерить? в токене кеша доступны айдишники «Б» которые а-ля точка входа для получения списка «А» которые собсно в кеше хранятся, НО! у каждой такой «А» есть свои «Б» )) Рекурсия, однако..
Как это сделать правильно?