由于使用redisson来存储list,返回的数据格式总是不对

原因是配置的序列化格式不对

@Bean(value = "redissonDtClient")
public RedissonClient redissonClient() {
        RedisConnectionProperties.RedisConfigEntity configEntity = properties.getDt();
        log.info("========= init redisson client ========= {}", configEntity.toString());
        Config config = new Config();
        String redisAddr = "redis://" + configEntity.getHostname() + ":" + configEntity.getPort();
        SingleServerConfig singleServerConfig = config.useSingleServer();
        String password = "";

        if (StringUtils.isNotEmpty(configEntity.getPassword())) {
            if (StringUtils.isNotEmpty(configEntity.getUsername())) {
                password = configEntity.getUsername() + ":" + configEntity.getPassword();
            } else {
                password = configEntity.getPassword();
            }
        }
        if (StringUtils.isNotEmpty(password)) {
            singleServerConfig.setPassword(password);
        }
        singleServerConfig.setDatabase(configEntity.getDatabase());
        singleServerConfig.setAddress(redisAddr);
        config.setCodec(new StringCodec());//这里配置成了string格式的
        config.setExecutor(new ThreadPoolExecutor(CORE_POOL_SIZE, MAXIMUM_POOL_SIZE, 1, TimeUnit.MINUTES,
                new LinkedBlockingQueue<>(), r -> new Thread(r, "redisson-executor-"
                + redissonExecutorThread.incrementAndGet())));
        singleServerConfig.setClientName(appName + "|redisson|" + ip);
        return Redisson.create(config);
   }

应该配置成json格式的

config.setCodec(new JsonJacksonCodec());//更新为json序列化

这样就可以了

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部