使用由 Redis 支持的 Spring Boot Cache 缓存不可序列化的对象

问题描述

我想缓存来自提供自己的客户端和数据类的 3rd 方 API 的响应。但问题是,这两个数据类都没有实现 Serialazable 接口,因此使用 Spring Boot Cache Redis 进行缓存时,我尝试时会抛出 NotSerializableException

是否可以以某种方式配置 Spring Boot Redis 缓存以允许缓存未实现 Serializable 的对象?

解决方法

RedisCache 默认配置为使用 Java 原生序列化。您可以尝试像 this 一样更改它,因此 RedisCache 将使用 JSON 序列化,它不需要您的响应为 Serializable