码迷,mamicode.com
首页 > 编程语言 > 详细

spring-data-redis使用RedisTemplate模板存储时键值与预设不一致的解决方法

时间:2015-05-22 19:18:06      阅读:405      评论:0      收藏:0      [点我收藏+]

标签:redis   jedis   spring-data-redis   

一、背景

最近使用spring-data-redis 和jedis 操作redis时发现存储在redis中的key不是程序中设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00这种字符串


二、原因

spring-data-redis的RedisTemplate<K, V>模板类在操作redis时默认使用JdkSerializationRedisSerializer来进行序列化
private RedisSerializer<?> defaultSerializer = new JdkSerializationRedisSerializer();

private RedisSerializer keySerializer = null;
private RedisSerializer valueSerializer = null;
private RedisSerializer hashKeySerializer = null;
private RedisSerializer hashValueSerializer = null;

三、解决方法

将keySerializer,hashKeySerializer替换为StringRedisSerializer
可以采用注入的方式:
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
    <property name="connectionFactory" ref="jedisConnectionFactory"/>
    <property name="keySerializer">
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
    </property>
    <property name="hashKeySerializer">
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
    </property>
</bean>

spring-data-redis使用RedisTemplate模板存储时键值与预设不一致的解决方法

标签:redis   jedis   spring-data-redis   

原文地址:http://blog.csdn.net/aqzwss/article/details/45919267

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!