Closed ftomza closed 9 years ago
В принципе — можем, но ведь идентификатор группы — вещь уникальная? Ты же всё равно сначала пробегаешь по всем факультетам, а потом по всем группам?
Да ты прав, идентификатор группы он уникальный. Но сейчас кэширование идет следующим образом. При вызове /faculties
- кэшируются факультеты. При вызове /faculties/1/groups
- кэшируются группы факультета 1. Если действовать согласно логике.
Есть вариант сразу все группы кэшировать, не зависимо от факультетов. Что думаешь на этот счет?
А как ты будешь инвалидировать кеш?
На каждый ключ записи кэша вешаю ttl. А также вешаю флаг синхронизации группы записей (группы, факультеты) кэша с тем же ttl. При выдачи результата проверяю флаг, если есть работаю с кэшом, если флага нету, то делаю сначало синхронизацию, а потом уже все остальное.
Сделал обработку для старого вызова.
@h4, можем ли мы переделать вызов
/scheduler/:id
на/faculties/:id/groups/:id/scheduler
, а то не понятно как синхронизировать группы без указания факультета. Сейчас синхронизация кэша для групп идет относительно факультета.