Должен ли я доверять Redis в отношении целостности данных?

В моем текущем проекте у меня есть PostgreSQL в качестве моей главной БД, а Redis в качестве подчиненного устройства, например, когда какой-либо пользователь добавляет другого в качестве друга, сначала отношения будут сохранены в PostgreSQL, а затем список друзей в Redis будет обновляться. Когда запрашивается список друзей какого-либо пользователя, он будет извлечен из Redis вместо PostgreSQL.

Вопрос в следующем: когда я обновляю список друзей в Redis, должен ли я получить свежую копию из PostgreSQL и заменить старый список в Redis новым, или я должен сохранить старый список и просто SADD идентификатор пользователя в список? Последнее, конечно, лучше для производительности, но интуитивно первое лучше справляется с сохранением целостности данных? А если используется что-то вроде Celery, стоит ли рисковать вторым методом?

5
задан Jiaji 1 June 2012 в 10:01
поделиться