Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java用奇怪的字符创建Redis密钥和内容_Java_Spring Boot_Redis - Fatal编程技术网

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

Java用奇怪的字符创建Redis密钥和内容,java,spring-boot,redis,Java,Spring Boot,Redis,我正在使用以下代码创建一个新的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密钥和内容:

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并将其反序列化回对象


感谢添加GenericJackson2JsonRedisSerializer以转换为json并设置valueSerializer

添加GenericJackson2JsonRedisSerializer以转换为json并设置valueSerializer

为了解决redis键、散列键和内容值的问题,我必须在RedisTemplate方法上添加以下行:

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

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

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