2015-04-09 5 views
0

У меня есть платформа python (Flask), использующая Redis для управления данными. https://github.com/murphyt7/projectHandover/blob/master/app.pyДанные Redis, потерянные при остановке службы

Проблема в том, что при перезапуске app.py вся информация теряется. Я слышал, что запуск команды BGSAVE до этого позволит решить проблему, но проблема в том, что перезапуск службы не предсказуем.

Есть ли способ сохранить данные автоматически в постоянном режиме?

+1

Возможно, вы можете попробовать использовать RabbitMQ, чтобы сохранить постоянные очереди. – lapinkoira

ответ

1

Via Код

Не промойте содержимое базы данных до или после выполнения вашего приложения.

postRedisDB.flushall() 

Via Redis

Кроме того, настроки сохраняться через RDB или АОП (или оба), так что вы будете уверены, что вы не потеряете свои данные даже в режиме производства

RDB: Redis База данных (моментальный снимок)
AOF: Append Только File (Operation Вход)

Для получения дополнительной информации о сохранении Redis нажмите здесь: http://redis.io/topics/persistence

2

Если вы не убиваете повторно, то ваши данные не должны исчезнуть. Это, однако ...

Линия 27:

postRedisDB.flushall() 

FLUSHALL:

Удалить все ключи всех существующих баз данных, а не только в данный момент выбран один. Эта команда никогда не терпит неудачу.

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