Java创建Redis密钥和内容与奇怪的字符

rjee0c15  于 2022-10-31  发布在  Redis
关注(0)|答案(3)|浏览(101)

我正在创建一个新的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);
}

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

关键的内容也是用奇怪的大字写的:

有人知道怎么修吗?
Estados类实现了Serializable,但我想将其内容保存在纯json中,这样我就可以将HashOperations更改为,而不是。您建议如何将其序列化为json并反序列化回对象?
谢谢

c2e8gylq

c2e8gylq1#

为了解决有关redis键、hash键和内容值的问题,我不得不在RedisTemplate方法上添加以下代码行:

template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
83qze16e

83qze16e2#

添加GenericJackson2JsonRedisSerializer以转换为json并设置值Serializer. This blog post may help you

kxxlusnw

kxxlusnw3#

我在使用套接字时遇到了同样的问题,我修复了它,因为用OutputStream替换了ObjectOutputStream。也许这有帮助。

相关问题