Мой сервис - Django API + MongoDB , который имеет очень простые конечные точки в каталогах коллекции, в основном это
GET /catalogs = returns ALL catalogs from the MongoDB (without pagination)
POST /catalogs = receives an ARRAY of catalog as payload and adds to the database
DELETE /catalogs = removes ALL catalogs from the database
Мне нужно реализовать кэш Redis на GET /catalogs
, чтобы не попадать в базу данных при каждом запросе.Я знаю, что эта информация неизменна до тех пор, пока кто-то не достигнет POST/DELETE catalogs
enpoints.
Какова наилучшая стратегия управления каталогами в Redis ?
Я думал оlist structure
в Redis, и каждый раз, когда кто-то достигает конечной точки POST
, я LPUSH
обращаюсь к ней Redis list
.
Мой главный вопрос касается конечной точки DELETE
, если я удаляю Redis key
Кроме того, мне нужно будет нажать на базу данных на /GET
, чтобы проверить, есть ли у меня каталоги.
Лучше ли хранить empty list
в Redis?Как лучше всего выполнить эти требования?