spbstu / unischedule

0 stars 1 forks source link

Вызов API на получение данных расписания по номеру группы #50

Closed ftomza closed 9 years ago

ftomza commented 10 years ago

@h4, можем ли мы переделать вызов /scheduler/:id на /faculties/:id/groups/:id/scheduler, а то не понятно как синхронизировать группы без указания факультета. Сейчас синхронизация кэша для групп идет относительно факультета.

h4 commented 10 years ago

В принципе — можем, но ведь идентификатор группы — вещь уникальная? Ты же всё равно сначала пробегаешь по всем факультетам, а потом по всем группам?

ftomza commented 10 years ago

Да ты прав, идентификатор группы он уникальный. Но сейчас кэширование идет следующим образом. При вызове /faculties - кэшируются факультеты. При вызове /faculties/1/groups - кэшируются группы факультета 1. Если действовать согласно логике. Есть вариант сразу все группы кэшировать, не зависимо от факультетов. Что думаешь на этот счет?

h4 commented 10 years ago

А как ты будешь инвалидировать кеш?

ftomza commented 10 years ago

На каждый ключ записи кэша вешаю ttl. А также вешаю флаг синхронизации группы записей (группы, факультеты) кэша с тем же ttl. При выдачи результата проверяю флаг, если есть работаю с кэшом, если флага нету, то делаю сначало синхронизацию, а потом уже все остальное.

ftomza commented 10 years ago

Сделал обработку для старого вызова.