解决项目中遇到的问题。
问题
存没有问题,有的数据采用set方法,有的数据保存到redis的list中,采用leftPush方法
1 | redisTemplate.opsForValue().set(key, value); |
1 | redisTemplate.opsForList().leftPush(key, val); |
问题在于取,若取和存在同一个类或者方法中,就可以实现,但是理论上,只有存到了redis数据库,在其他地方也是可以取到的,但返回的都是null。
解决
之前也遇到过这种问题,当时在controller中可以取到,但在service中就不可以,所以开始也在考虑这个原因。最后发现真正的原因在于取的时候redisTemplate要实现序列化接口。
1 | private RedisTemplate<String, String> redis; |
这样就可以实现。
注:转载文章请注明出处,谢谢~