问题描述
我有 EmployeeDto
作为 Object
,它没有与数据库同步。
我想将 EmployeeDto
放在 Redis 缓存中。我已经看过一个例子,我可以看到数据库实体正在使用 Redis 缓存进行缓存,但是我们如何在 Redis 缓存中存储和检索非数据库实体?
@Getter
@Setter
public class EmployeeDto {
private long employeeId;
private String requestId;
private String timestamp;
private String employeeName;
}
解决方法
您在 Spring 缓存库中缺少 CacheManager 的概念。
CacheManager 允许您创建任何名称的缓存,对于您的用例,您可以创建一个名为 default
的缓存,并且该缓存必须是您需要的 Redis。
您可以在任何 bean 中注入 CacheManager
,一旦您拥有 cacheManager
对象,您就可以调用 getCache
方法来获取 Cache
对象,现在您需要调用适当的方法在这个缓存对象上存储/检索数据。
在这里看到很多用法
https://www.codota.com/code/java/classes/org.springframework.cache.CacheManager