Как синхронизировать c операцию между Redis и MongoDB - PullRequest
0 голосов
/ 26 февраля 2020

Я постараюсь сделать свой вопрос коротким и простым.

Скажем, у меня есть приложение Springboot, которое позволяет создавать определенную сущность со Время жизни . Я храню сущность в MongoDB. Когда приходит запрос на получение объекта, приложение извлекает его из БД, кэширует его в Redis и отправляет ответ. Следующие последовательные запросы будут обслуживаться из кэша

Когда истекает TTL (, который настраивается и определяется во время создания объекта ) объекта, он будет удален из MongoDB.

У меня проблемы с выяснением, как синхронизировать c с кэшем Redis. Я думал, что во время первого запроса, когда я кэширую ответ, я бы кешировал его с оставшимся TTL объекта, так что мне не нужно было ничего делать, чтобы удалить его из обоих Mon go и редис. Redis и Mon go позаботятся об удалении самостоятельно. В настоящее время я кеширую ответы, используя аннотацию @Cacheable, но я не смог найти в этой аннотации какого-либо дополнительного параметра, который будет динамически устанавливать TTL.

Есть ли способ добиться этого, сохранив @Cacheable аннотации по моему методу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...