我使用springredis缓存来存储下面的数据模型。
class CacheModel {
private String programName;
private Instant instant;
private LinkedBlockingQueue<> requestQueue;
private LinkedBlockingQueue<> responseQueue;
}
我已经创建了一个缓存服务,并使用下面的代码片段来缓存对象。
@Cacheable(cacheNames = "programCache", key = "'key-'.concat(#programName)")
public ProgramCache getProgramCache(String programName) {
return CacheModel.builder()
.programName(programName)
.instant(Instant.now())
.requestQueue(getBlockingQueue())
.responseQueue(getBlockingQueue())
.build();
}
现在,当我使用spring简单缓存时,程序运行良好。从某种意义上说,每当我检索缓存的对象时,它总是返回在缓存对象之前创建的相同请求和响应队列。
当我使用springredis缓存时,这个程序不起作用。在从缓存中检索对象之前和之后创建和缓存对象时,我已经记录了所有字段的哈希代码。缓存对象后,请求队列和响应队列的哈希代码不同。
我想知道在将对象缓存到redis缓存时是否遗漏了一些配置,以及redis缓存是否在缓存中保留对象引用。
提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!