首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Redisson将数据从Redis集群迁移到其他集群

使用Redisson将数据从Redis集群迁移到其他集群
EN

Stack Overflow用户
提问于 2019-10-18 17:01:50
回答 1查看 111关注 0票数 0

我想通过编程的方式将数据从一个旧的Redis集群迁移到一个新的集群,所以我这样做了:

代码语言:javascript
复制
        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中禁用解码?或者是一种更好的方法来做这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-24 14:52:06

使用ByteArrayCodec。示例:

代码语言:javascript
复制
RBucket<Object> bucket = encryptedRedisClient.getBucket(key, ByteArrayCodec.INSTANCE);
bucket.set(value);
bucket.expire(48L, DAYS);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58447431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档