过滤掉不需要的数据后缓存过滤后的数据

Caching Filtered Data After Filtering Unwanted Data

假设我有一个名为: Result 其中包含更多的数据类型。以此数据为例:

[{Albums : { 
  name: “albumName”,
  artist: {name: “artistName,
           link:“https:link.com”
           },
  link: “http...”
       }   Tracks: {
  name: “trackName”,
  artist: {name: “artistName,
           link:“https:link.com”
           },
  link: “http...”
       }    Playlists: {
  name: “playlistName”,
  artist: {name: “artistName,
           link:“https:link.com”
           },
  link: “http...”
       }
}]

想象一下,您已经使用任何一种方法过滤了数据,而您只想获得的值是名称,所以您执行过滤操作,然后缓存所有过滤后的值,这样当您调用 api 同样,不需要再次过滤它,因为您可以直接在缓存中获取它。有或没有 @Cachaeble 这甚至可能吗?性能有任何改进吗?

目前这个问题很笼统,所以我做一个笼统的回答:

Cacheable也有可能没有,就是直接调用缓存实现或者自己实现缓存机制。性能提升取决于 API 调用的延迟,过滤器的延迟/CPU 消耗与缓存的处理开销相比,缓存是 Spring 缓存抽象和缓存解决方案。

如果只有几个不同的查询重复请求,您的缓存将有效。如果您有很多不同的查询并且重复次数不多,您的缓存可能无效 and/or 消耗大量内存。