Java用奇怪的字符创建Redis键和内容

Ran*_*ili 2 java redis spring-boot

我正在使用以下代码创建一个新的 Redis 密钥(和内容):

private static final String KEY_ESTADOS = "estados";
private HashOperations<String, String, Object> hashOperations;

public void add(final Estado estado) {
    hashOperations.put(KEY_ESTADOS, estado.getSigla(), estado);
}
Run Code Online (Sandbox Code Playgroud)

它不是在 Redis 上创建密钥“estados”,而是创建密钥名称“”\xac\xed\x00\x05t\x00\aestados”

在此处输入图片说明

关键内容也是奇怪的字符: 在此处输入图片说明

有谁知道如何解决这个问题?

Estados 类实现了 Serializable 但我想将它的内容保存在纯 json 中,以便我可以将 HashOperations 更改为 . 您建议将什么序列化为 json 并将其反序列化回对象?

谢谢

Ran*_*ili 6

为了解决有关 redis 键、哈希键和内容值的问题,我不得不在 RedisTemplate 方法中添加以下几行:

template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
Run Code Online (Sandbox Code Playgroud)


Riy*_*yaz -2

添加GenericJackson2JsonRedisSerializer以转换为json并设置valueSerializer。 这篇博文可能对你有帮助

  • 该“博客文章”是一个危险的链接。 (4认同)