Java用奇怪的字符创建Redis密钥和内容
我正在使用以下代码创建一个新的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
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());