Добре, потърсих в Google известно време и намерих помощ на http://java.dzone.com/articles/spring-data-redis.
Това се случи заради сериализацията на Java.
Ключовият сериализатор за redisTemplate трябва да бъде конфигуриран за StringRedisSerializer
т.е. така:
<bean
id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:host-name="${redis.server}"
p:port="${redis.port}"
p:use-pool="true"/>
<bean
id="stringRedisSerializer"
class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
<bean
id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory"
p:keySerializer-ref="stringRedisSerializer"
p:hashKeySerializer-ref="stringRedisSerializer"
/>
Сега ключът в redis е vc:501381
.
Или както казва @niconic, можем също да зададем самия сериализатор по подразбиране на сериализатора на низове, както следва:
<bean
id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory"
p:defaultSerializer-ref="stringRedisSerializer"
/>
което означава, че всички наши ключове и стойности са низове. Забележете обаче, че това може да не е за предпочитане, тъй като може да искате вашите стойности да не са само низове.
Ако вашата стойност е обект на домейн, тогава можете да използвате Jackson serializer и да конфигурирате сериализатор, както е споменато тук, т.е. по следния начин:
<bean id="userJsonRedisSerializer" class="org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer">
<constructor-arg type="java.lang.Class" value="com.mycompany.redis.domain.User"/>
</bean>
и конфигурирайте своя шаблон като:
<bean
id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory"
p:keySerializer-ref="stringRedisSerializer"
p:hashKeySerializer-ref="stringRedisSerializer"
p:valueSerialier-ref="userJsonRedisSerializer"
/>