У нас есть сервис, который inserts
в dynamodb
определенных значений. Ради этого вопроса, скажем, его key:value
пара, т.е. customer_id:customer_email
. Вставки происходят не так часто, и после того, как вставки сделаны, этот конкретный ключ не обновляется.
Мы создали клиентскую библиотеку, которая с customer_id
будет извлекать customer_email
из dynamodb
.
Учитывая, что customer_id
данные статичны, мы подумали о том, чтобы добавить кеш в таблицу, но мы не уверены, что произойдет в следующем сценарии использования
.
client_1
использует нашу библиотеку для извлечения customer_email
для customer_id = 2
.
- Клиент не существует, поэтому API-шлюз возвращает
not found
APIGateway
будет кешировать этот ответ
- Для любых последующих вызовов этот кэшированный ответ будет отправлен
- Теперь другая система вставляет
customer_id = 2
со своим идентификатором электронной почты. Эта система не знает, был ли этот ответ ранее кэширован или нет. Он даже не знает, что любая другая система извлекла эти конкретные данные. Как мы можем сделать недействительным кеш для этого конкретного customer_id
, когда он вставляется в динамо