Ошибка ключей CROSSSLOT с включенным режимом кластера Redis в Springboot с использованием конфигурации LettuceJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка ключей CROSSSLOT с включенным режимом кластера Redis в Springboot с использованием конфигурации Lettuce

Сообщение Anonymous »

Мы только что перешли с автономного Redis на кластер и столкнулись со следующим исключением: RedisSystemException: Ошибка при выполнении; вложенным исключением является io.lettuce.core.RedisCommandExecutionException: ключи CROSSSLOT в запросе не хэшируются в один и тот же слот.
При дальнейшем копании я обнаружил, что эта проблема проявляется, когда ключи в запросе не хэшируются с тот же слот во время redisTemplate.opsForZSet().intersectAndStore / redisTemplate.opsForZSet().differenceAndStore и подобных операций пересечения объединения.
Я столкнулся с концепцией, называемой хэштегами, но не могу понять способ решить эту проблему с помощью моего кода

Код: Выделить всё

     @LogMethodCall
public String getValueByKey(String key) {
if (BooleanUtils.isTrue(keyExists(key))) {
return redisTemplate.opsForValue().get(key+"{someconstantstring}");
}
return null;
}

@LogMethodCall
public void save(String key, String value) {
if (StringUtils.isNotEmpty(key)) {
redisTemplate.opsForValue().set(key+"{someconstantstring}", value);
}
}

@LogMethodCall
public void saveWithExpiryInMinutes(String key, String value, long expiryTime) {
if (StringUtils.isNotEmpty(key)) {
redisTemplate.opsForValue().set(key+"someconstantstring", value, expiryTime, TimeUnit.MINUTES);
}
}

@LogMethodCall
public void saveWithExpiryInSeconds(String key, String value, long expiryTime) {
if (StringUtils.isNotEmpty(key)) {
redisTemplate.opsForValue().set(key+"{someconstantstring}", value, expiryTime, TimeUnit.SECONDS);
}
}
Неужели я неправильно понял концепцию? Любые входные данные с примерами фрагментов кода, которые могут работать, вероятно, помогут мне справиться с этим?

Подробнее здесь: https://stackoverflow.com/questions/767 ... ng-lettuce
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»