Java создает ключ Redis и контент со странными символами - PullRequest
0 голосов
/ 20 октября 2018

Я создаю новый ключ 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);
}

Вместо создания ключа "estados" в Redis он создает имя ключа "" \ xac \xed \ x00 \ x05t \ x00 \ aestados "

enter image description here

Содержание ключа также содержит странные символы: enter image description here

Кто-нибудь знает, как это исправить?

Класс Estados реализует Serializable, но я хотел бы сохранить его содержимое в чистом json, чтобы вместо него можно было изменить HashOperations. Что вы рекомендуете сериализовать в jsonи десериализовать его обратно на объект?

Спасибо

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Чтобы решить проблему с ключом redis, ключом хэша и значением содержимого, мне пришлось добавить следующие строки в метод RedisTemplate:

template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
0 голосов
/ 20 октября 2018

Добавьте GenericJackson2JsonRedisSerializer для преобразования в json и установите значениеSerializer. Это сообщение в блоге может помочь вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...