2016-12-05 4 views
-1

Моя проблема:Как правильно пользоваться Redis?

У меня есть 10000 купона для наших пользователей. Каждый пользователь получит максимум. Для performance Причина, я выбираю Redis и использую HashMap для получения результатов: key is userId, значение couponCode. Когда пользователь берет один код, пара userId-кода будет сохранена в хэш-карте. Также пара данных должна быть сохранена в SQL db.

Как создать систему, чтобы при сбое Redis данные не были потеряны?

+0

это хэш-карта, где это? – harshil9968

ответ

-1

Как насчет сохранения их в базе данных сначала и «обновления» хэш-карты в конце?

1

Как создать систему, чтобы при сбое Redis данные не были потеряны?

Я бы начал с изучения моделей устойчивости RDB и AOF и решил, какой уровень безопасности данных подходит для вашего прецедента.

Redis Persistence

Информация о том, как Redis обрабатывает SIGTERM.

Redis Signals Handling

Примечание:

Предполагая, что вы выполняете установку ведущий/ведомый. Я хотел бы отметить, что Redis использует асинхронную репликацию, то есть невозможно гарантировать, что ведомый фактически получил заданную запись, поэтому всегда есть окно для потери данных. Redis Replication Docs

Надеюсь, что это поможет.

Смежные вопросы