Как я могу использовать сериализаторы Spring Data для Redis?

Я изучаю Spring Data для Redis, но до сих пор не нашел ни одного примера того, как использовать сериализаторы, поддерживаемые этим проектом?

Я прочитал раздел 4.6 справочной документации проекта ( http://static.springsource.org/spring-data/data-redis/docs/current/reference/html/redis.html#redis:serializer ), но это в основном только говорит, что он существует. Больше ничего. Как я могу использовать эту функцию?


person Kico Lobo    schedule 10.03.2013    source источник
comment
@ Kico Lobo - Смогли ли вы решить эту проблему без использования RedisTemplate, а я вообще его не использую?   -  person Jeff Cook    schedule 16.11.2018


Ответы (2)


Сериализаторы используются в нескольких местах кодовой базы, в первую очередь в RedisTemplate для преобразования необработанных байтов, хранящихся в Redis в виде ключей/значений, в ваши пользовательские типы данных (и наоборот). Это упоминается в разделе 4.4 документации.

person Jennifer Hickey    schedule 11.03.2013
comment
@ Дженнифер Хикки. Мы вообще не используем RedisTemplate для извлечения и сохранения данных. Это чисто операции CRUD. Не могли бы вы направить сейчас? - person Jeff Cook; 16.11.2018

В вашей весенней конфигурации

<bean id="stringSerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer"/>

<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" 
    p:connection-factory-ref="jedisConnectionFactory">
    <property name="keySerializer" ref="stringSerializer"/>
    <property name="valueSerializer" ref="stringSerializer"/>
</bean>

<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" 
    p:host-name="myhostname" p:port="6379"/>

Или, если вы хотите установить его в Java

// inject the actual template 
      @Autowired
      private RedisTemplate<String, Object> template;
...
...
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new StringRedisSerializer());
person Zeeshan    schedule 31.07.2015