java—如何通过使用@cacheable注解实现以下行为?

wlwcrazw  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(217)

假设我有一个从mongo获取数据的方法,这些数据可以缓存到redis中。

@Cacheable
public List<Values> cacheValues(List<String> input){
     // code that fetches the list based on input from mongodb
}

问题是mongodb中有一个与每个特定输入相对应的文档列表。从mongo获取时,所有列表都合并到一个列表中。我们有没有办法告诉@cacheable注解数据必须以相同的方式持久化和获取?或者我们有没有办法定制@cacheable,让它能够使用我们自己的redis操作来获取和持久化呢?。我使用的是spring数据redis。
第二个问题:如何根据输入中的值创建键。例如:

@Cacheable(cacheNames = "cach1", key = "input[0] + …. input[input.size-1]")

        public List<Values> cacheValues(List<String> input){

             // code that fetches the list based on input from mongodb

        }

暂无答案!

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

相关问题