Oke, googling sebentar dan temukan bantuan di http://java.dzone.com/articles/spring-data-redis.
Itu terjadi karena serialisasi Java.
Serializer kunci untuk redisTemplate perlu dikonfigurasi ke StringRedisSerializer
yaitu seperti ini:
<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"
/>
Sekarang kunci dalam redis adalah vc:501381
.
Atau seperti kata @niconic, kita juga bisa mengatur serializer default itu sendiri ke string serializer sebagai berikut:
<bean
id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory"
p:defaultSerializer-ref="stringRedisSerializer"
/>
yang berarti semua kunci dan nilai kami adalah string. Namun perhatikan bahwa ini mungkin tidak disukai, karena Anda mungkin ingin nilai Anda bukan hanya string.
Jika nilai Anda adalah objek domain, maka Anda dapat menggunakan serializer Jackson dan mengkonfigurasi serializer seperti yang disebutkan di sini yaitu seperti ini:
<bean id="userJsonRedisSerializer" class="org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer">
<constructor-arg type="java.lang.Class" value="com.mycompany.redis.domain.User"/>
</bean>
dan konfigurasikan template Anda sebagai:
<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"
/>