Чем отличаются классы Redis, RedisArray и RedisCluster в PHP? - PullRequest
0 голосов
/ 19 апреля 2020

На моей машине DEV я использую класс Redis, который работает нормально. На моем LIVE-сервере я использую классы RedisArray и / или RedisCluster.

С Документы RedisArray :

Массивы Redis можно использовать так же, как объекты Redis.

Из Документы RedisCluster :

Для большинства операций класс RedisCluster может выступать в качестве замены для класса Redis без необходимости изменения как это называется.

Недавно я заметил потерю данных на моем LIVE-сервере. Я имею в виду, что при использовании RedisArray или RedisCluster иногда некоторые данные исчезают. Это нормальное поведение для RedisArray / RedisCluster? Есть ли способ предотвратить потерю данных?

1 Ответ

2 голосов
/ 20 апреля 2020

Согласно очень похожему вопросу в трекере проблем с репозиторием GpHub PhpRedis:

, когда вы используете Redis, так как кэширование и сохранение отключено, вы должны использовать шардинг ( RedisArray), чтобы избежать проблем с высоким трафиком c между бэкэндами и Redis.

Также есть письмо от одного из авторов PhpRedis, реплицированное в еще один вопрос здесь, в SO . Обратите внимание, что этому вопросу почти 7 лет, но ответ был отредактирован 5 лет a go.

Кажется, что RedisArray поддерживает разделение ключей на стороне клиента (введено до официальной поддержки Redis Cluster) и RedisCluster использует официальную функцию Redis Cluster .

...