我尝试按照本教程进行操作:http://javakart.blogspot.in/2012/12/spring-data-redis-hello-world-example.html
我的问题与此相关:带有 Spring Data Jedis 的奇怪 Redis 键
我能够使用 StringRedisSerializer 解决键和哈希键。
<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"
/>
但是我发现使用序列化器来处理值和哈希值是有问题的。
我尝试添加这个:
p:valueSerializer-ref="stringRedisSerializer"
p:hashValueSerializer-ref="stringRedisSerializer"
但提示错误:
“用户无法转换为 java.lang.String”
任何人都可以分享如何使用序列化器来获取值/哈希值吗?
Redis 将键和值存储为字符串。由持久层来处理解析。在示例中,User 是 POJO 而不是 String。我建议您使用 JacksonJsonRedisSerializer 而不是 StringRedisSerializer。这样你就可以将 json 存储为你的值。
<bean id="userJsonRedisSerializer"
class="org.springframework.data.redis.serializer.JacksonJsonRedisSerializer">
<constructor-arg type="java.lang.Class" value="com.mycompany.redis.domain.User"/>
</bean>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)