Ok, googlede lidt rundt og fandt hjælp på http://java.dzone.com/articles/spring-data-redis.
Det skete på grund af Java-serialisering.
Nøgleserializeren til redisTemplate skal konfigureres til StringRedisSerializer
altså sådan her:
<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"
/>
Nu er nøglen i redis vc:501381
.
Eller som @niconic siger, vi kan også indstille selve standardserializeren til strengserializeren som følger:
<bean
id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory"
p:defaultSerializer-ref="stringRedisSerializer"
/>
hvilket betyder, at alle vores nøgler og værdier er strenge. Bemærk dog, at dette måske ikke er at foretrække, da du måske ønsker, at dine værdier ikke kun skal være strenge.
Hvis din værdi er et domæneobjekt, så kan du bruge Jackson serializer og konfigurere en serializer som nævnt her, dvs. sådan her:
<bean id="userJsonRedisSerializer" class="org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer">
<constructor-arg type="java.lang.Class" value="com.mycompany.redis.domain.User"/>
</bean>
og konfigurer din skabelon som:
<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"
/>