redis存储的key前面都带有\xAC\xED\x00\x05t\x00

存入的是md5加密的key,xACxEDx00x05tx00 86512b86d4747acac5524c4a1f76469f,存储后前面带了串东西。根据百度设置了keySerializer也没用,求解

<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"

    p:connection-factory-ref="connectionFactory"> 
    <property name="keySerializer">  
        <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />  
    </property>  

</bean>

阅读 10.3k
3 个回答
    <bean id="redisTemplate"
          class="org.springframework.data.redis.core.RedisTemplate"
          p:connection-factory-ref="connectionFactory"
          p:defaultSerializer-ref="stringRedisSerializer"/>

    <bean id="stringRedisSerializer"
          class="org.springframework.data.redis.serializer.StringRedisSerializer"/>

原因是Jedis存储的时候序列化RedisTemplate是支持多类型的序列化。如果你只是String结构可以直接使用StringRedisSerializer。如果不是的话怎么存的怎么取,用redisTemplate实例去取没有问题的。但在终端自己查询会有问题哦。
如果以上还满足不了你的话,可以使用Jackson serializer。
具体可以参考Weird redis key with spring data Jedis

简单做了个测试,stringRedisSerializer是会去掉前面那串东西,不知道为啥在项目stringRedisSerializer没生效还是干嘛

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏