有什么方法可以在Redis缓存中存储响应实体吗?

时间:2019-08-07 11:42:06

标签: java spring-boot redis

我尝试了以下代码,但出现错误-Spring Web ResponseEntity无法序列化。

  

org.springframework.data.redis.serializer.SerializationException:无法序列化;嵌套的异常是org.springframework.core.serializer.support.SerializationFailedException:无法使用DefaultSerializer序列化对象。嵌套异常是java.lang.IllegalArgumentException:DefaultSerializer需要可序列化的有效负载,但收到的对象类型为[org.springframework.http.ResponseEntity]

尝试以下代码:

@Override

@Transactional

@Cacheable(value = "mostFollowedSub", key = "{#root.methodName, #offset, #limit}" )
    public ResponseEntity<Response> mostFollowedSubCategory(int offset, int limit) {
        return subCategoryDao.getMostFollowedSubCategory(offset, limit);
    }

1 个答案:

答案 0 :(得分:0)

ResponseEntity不是Serializable。更好的方法是在服务/ DAO层进行缓存(在您的情况下为getMostFollowedSubCategory的{​​{1}}方法)。