spring redis cacheable

s71maibg  于 2021-06-08  发布在  Redis
关注(0)|答案(0)|浏览(228)

我使用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缓存是否在缓存中保留对象引用。
提前谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题