Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java creating Redis key and content with strange characters

I'm creating a new Redis key (and content) with the following code:

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);
}

Instead of create a key "estados" on Redis, it's creating a key name ""\xac\xed\x00\x05t\x00\aestados"

enter image description here

The key content is also with strange characters: enter image description here

Anybody knows how to fix this?

The Estados class implements Serializable but I would like save it's content in pure json so I could change HashOperations to instead of . What do you recommend to serialize to json and deserialize it back to object?

Thanks

like image 214
Ranieri Mazili Avatar asked Oct 20 '18 14:10

Ranieri Mazili


1 Answers

To solve the problem about the redis key, hash key and content value I had to add the following lines on RedisTemplate method:

template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
like image 62
Ranieri Mazili Avatar answered Nov 16 '22 15:11

Ranieri Mazili