Redis как самонаселенный кеш
Можно ли использовать Redis в качестве самонаполняющегося кэша (или сквозного кэша)?
Другими словами, может ли она создать запись на лету, если эта запись еще не кэширована?
2 ответа
Можно ли использовать Redis в качестве самонаполняющегося кэша (или сквозного кэша)?
Да! Но Redis не имеет реализации для самостоятельного населения.
Так что вам просто нужно реализовать это самостоятельно, и это тоже легко.
- Определите класс-оболочку, который расширяет (is-a-отношение) Redis-клиент (по вашему выбору).
- Определите фабричные интерфейсы для создания объектов.
Переопределите необходимые методы, которые требуют сквозной реализации
3.1 Если ключ уже существует, верните его.
3.2 В противном случае используйте фабричные интерфейсы для создания значения, кэширования и возврата.
Надеюсь, что этот ответ достаточно общий для любого клиента Redis.
Redis - это просто магазин: вы добавляете в него вещи и возвращаете их снова. Он не знает, для чего вы его используете (кеширование), и не знает о бэкэнде, из которого он будет выполнять поиск, что будет зависеть от приложения, обрабатывающего запрос, и от использования Redis для кэширования.