在Spring seesion中,使用由redis缓存保存的实体类。
从Reditemplate取的值是null
但是可以通过stringredistemplate取出内容
如果用Stringredistemplate.Opsforhash().get(K,V),那取出来的内容可以转成实体类吗?
或者怎么使用Reditemplate.Opsforhash().get(K,V)获取到对应的内容
在Spring seesion中,使用由redis缓存保存的实体类。
从Reditemplate取的值是null
但是可以通过stringredistemplate取出内容
如果用Stringredistemplate.Opsforhash().get(K,V),那取出来的内容可以转成实体类吗?
或者怎么使用Reditemplate.Opsforhash().get(K,V)获取到对应的内容
8 回答6.5k 阅读
4 回答685 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答791 阅读✓ 已解决
能通过 StringRedisTemplate 取得该 key 的 value,而通过 RedisTemplate 得到的是 null 的原因是你是通过 StringRedisTemplate 这个操作类将 value 设置进 redis 的。
StringRedisTemplate 会将 key 序列化,所以只能通过 StringRedisTemplate 获取该 key 的值。
如果想转化为实体类,你可以在 put 是使用 json 工具将实体类转为 json 格式的一个 String 对象。然后在 get 到值之后将 String 反序列化为你想要的实体类。
以上。