jedis做的缓存无法在redis客户端中查看

来源:互联网 发布:好看到爆t恤淘宝知乎男 编辑:程序博客网 时间:2024/06/07 04:06

产生原因:jedis做缓存时,没有对key进行序列化,导致jedis保存的key实际为\xac\xed\x00\05t\x00\x05Key,这个key可在redis客户端中用keys *命令查看


解决办法:jedis做缓存时,对key进行序列化,在srping-data-redis包下,有4个类专门提供对key,value,hashKey,hashValue进行序列化,如下:


<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">  
    <property name="connectionFactory"   ref="connectionFactory" />
    <property name="keySerializer">  
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />  
    </property>  
    <property name="valueSerializer">  
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />  
    </property>  
    <property name="hashKeySerializer">  
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />  
    </property>  
    <property name="hashValueSerializer">  
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />  
    </property>  
</bean> 


此问题针对key的序列化,则用keySerializer,hashKeySerializer1.