На моей машине DEV я использую класс Redis, который отлично работает. На моем LIVE-сервере я использую классы RedisArray и/или RedisCluster.
Массивы Redis можно использовать так же, как объекты Redis.
Для большинства операций класс RedisCluster может выступать в качестве замены класса Redis без необходимости изменять способ его вызова.
Недавно я заметил потерю данных на моем LIVE-сервере. Я имею в виду, что при использовании RedisArray или RedisCluster иногда пропадают некоторые данные. Это нормальное поведение для RedisArray/RedisCluster? Есть ли способ предотвратить потерю данных?
1 ответ
Согласно очень похожему вопросу в системе отслеживания ошибок репозитория PhpRedis на GitHub:
когда вы используете Redis, так как кэширование и сохранение отключены, вы должны использовать сегментирование (RedisArray), чтобы избежать проблем с высоким трафиком между бэкэндами и Redis.
Кроме того, есть электронное письмо одного из авторов PhpRedis, реплицированное в еще один вопрос здесь, в SO. Обратите внимание, что вопросу почти 7 лет, но ответ был отредактирован 5 лет назад.
Похоже, что RedisArray
поддерживает сегментацию ключей на стороне клиента (представленную до официальной поддержки Redis Cluster), а RedisCluster
использует официальный Функция кластера Redis.
Похожие вопросы
Связанные вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.