Я хочу перенести данные из старого кластера Redis в новый программно, поэтому я сделал это:
legacyRedisClient.getKeys()
.getKeys()
.forEach(key -> {
LOGGER.info("Redis Migration : Migrating key {}", key);
Optional.of(legacyRedisClient.getBucket(key))
.filter(RObject::isExists)
.map(RBucket::get)
.ifPresent(value -> {
LOGGER.info("Redis Migration : Storing element with key {}", key);
RBucket<Object> bucket = encryptedRedisClient.getBucket(key);
bucket.set(value);
bucket.expire(48L, DAYS);
});
});
Проблема в том, что я, когда я делаю RBucket::get
, Redisson попробуйтедекодировать значение с помощью класса, который не обязательно находится в пути к классам (потому что это было установлено другим микросервисом).
Есть ли способ отключить декодирование в Redisson? Или лучший способ сделать это?