【问题标题】:Spring cache/fallback frameworkSpring缓存/回退框架
【发布时间】:2018-11-29 13:10:35
【问题描述】:

我的用例是我想在我的服务调用者类中缓存某些请求:响应:

public class Abc{
  public Response serviceCall(Request r){}
}

public class Memcached{
 public Response get(Request r){}

public void put(Request r, Response rs){}
}

我想使用 memcached 进行缓存。请求将是键,值将是响应。每当调用 serviceCall() 时,我想检查请求是否已存在于缓存中,如果存在,则从缓存中返回响应。 如果没有,则实际执行 serviceCall() 方法并将 request:response key:value 放入 memcached

春天有什么办法可以达到同样的效果。

我确实在这里查看了@Cacheable http://www.baeldung.com/spring-cache-tutorial

但我无法理解如何让 spring 使用我的“Memcached”类,更具体地说,我在哪里连接我的“Memcached”类,以便在上面的示例中它可用于“Abc”类

请您帮忙。我正在 Spring Boot 中工作,完全基于注释并寻找基于注释的解决方案

【问题讨论】:

    标签: java spring spring-boot caching


    【解决方案1】:

    Spring 缓存不支持开箱即用的 Memcached (Supported Cache Providers)。

    如果您想在项目中使用 Memcached,请查看 Memcached Spring Boot 缓存库。

    还有一个example Java project 介绍了如何将 Memcached 与 Spring 一起使用。

    【讨论】:

      【解决方案2】:

      您不需要 memcached 类。只需按照 baeldung 教程将 @Cacheable 注释放在 Abc.serviceCall 上即可。

      【讨论】:

      • 但我想使用我的 memcached 类,Abc.serviceCall 怎么知道使用我的“Memcached”类
      • 为什么要使用它而不是让 Spring 缓存 API 为您完成所有工作?
      • 在我提到的问题中,memcahed 是为了让问题保持简单,它实际上是我们为特定用例创建的自定义缓存
      猜你喜欢
      • 2015-03-11
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      相关资源
      最近更新 更多