我将Redis用作spring boot项目中的缓存。在控制器中,rest api返回ResponseEntity对象。当我在任何方法之前使用@Cacheable时,它会给出Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload.
此代码与Postgres和Java8一起运行。
@Cacheable(value = "users", key = "#userId")
@GetMapping("{id}")
public ResponseEntity<User> getUserById( @PathVariable(value = "id") Long userId) {
return new ResponseEntity<User>(userService.getUser(userId), HttpStatus.OK);
}
在服务层使用@Cacheable注释也会产生相同的错误。