2015-03-04 1 views
0

Я использую пару ключ-значение Redis для хранения данных. Данные по конкретному ключу могут меняться в любой момент времени, поэтому после каждого запроса на получение я асинхронно обновляю данные, хранящиеся в запрошенном ключе, чтобы следующий запрос мог обслуживаться с обновленными данными. Я провел довольно много испытаний, но все же мне интересно, может ли быть случай, когда этот подход может иметь некоторые негативные последствия?Обновление и извлечение ключей в Redis

PS: Данные консолидируются с нескольких серверов.

Заранее благодарим за любую помощь/предложения.

ответ

1

Если вы уже знаете значение, которое нужно сохранить, вы можете использовать GETSET (или transaction, если это не простой тип строки). Если новое значение представляет собой некоторую манипуляцию с значением, то есть f(value), вы должны сделать это в сценарии LUA.

В противном случае какой-либо другой клиент может прочитать старое значение перед его обновлением.