Перенос данных из кластера Redis в другой с помощью Redisson - PullRequest
0 голосов
/ 18 октября 2019

Я хочу перенести данные из старого кластера 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? Или лучший способ сделать это?

...