首页 > 解决方案 > 生菜使用带有非字符串、字符串编解码器的 RedisAsyncCommands

问题描述

我想用 (K, V) 初始化 Lettuce 的 RedisAsyncCommands,<String, String>这与 Lettuce 的默认初始化编解码器不同。我想要<String, byte[]>,我该怎么做?

RedisURI redisUri = RedisURI.builder().withHost(configuration.getTelematicsRedis().getHost()).withPort(configuration.getTelematicsRedis().getPort()).build();
RedisClient client = RedisClient.create(redisUri);
RedisAsyncCommands<String, String> redisAsyncCommands = client.connect().async();

我在网上浏览了生菜文档和其他一些资源,但我仍然不清楚。

提前致谢。

标签: javaredisnettylettuce

解决方案


我们可以通过以下方式传递所需的 Key 和 Value 编解码器来做同样的事情:

RedisURI redisUri = RedisURI.builder().withHost(configuration.getTelematicsRedis().getHost()).withPort(configuration.getTelematicsRedis().getPort()).build();
RedisClient client = RedisClient.create(redisUri);
RedisAsyncCommands<String, byte[]> redisAsyncCommands = client.connect(RedisCodec.of(new StringCodec(), new ByteArrayCodec())).async();

推荐阅读