首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gemfire弹簧实例

Gemfire弹簧实例
EN

Stack Overflow用户
提问于 2016-07-28 15:18:44
回答 1查看 1.1K关注 0票数 0

https://spring.io/guides/gs/caching-gemfire/的示例表明,如果存在缓存丢失,则必须从服务器获取数据并将其存储在缓存中。

这是作为Gemfire服务器运行的Gemfire示例,还是Gemfire客户端?我认为,如果缓存丢失,客户端将自动从服务器获取数据。如果是这样的话,客户端会有缓存丢失吗?

致以敬意,

雅什

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-28 19:40:15

首先,我认为您忽略了核心Spring框架的缓存抽象的要点。我鼓励您阅读更多关于缓存抽象的预期用途的这里

简而言之,如果您的应用程序对象之一调用某个“外部”、“昂贵”服务来访问资源,那么缓存可能适用,特别是如果每次传递的输入结果完全相同的话。

因此,让我们先想象一下,您的应用程序调用Google中的Google来转换地址和(逆)纬度/经度坐标。

您可能有一个像这样的应用程序Spring @Service组件..。

代码语言:javascript
复制
@Service("AddressService")
class MyApplicationAddressService {

  @Autowired
  private GoogleGeocodingApiDao googleGeocodingApiDao;

  @Cacheable("Address")
  public Address getAddressFor(Point location) {
    return googleGeocodingApiDao.convert(location);
  }
}

@Region("Address")
class Address {

  private Point location;

  private State state;

  private String street;
  private String city;
  private String zipCode;

  ...
}

显然,给定纬度/经度(输入),每次都应该生成相同的地址(结果)。此外,由于对外部API (如Google的Geocoding服务)进行(网络)调用可能非常昂贵,因此访问资源和执行转换都是非常昂贵的,因此这种类型的服务调用是在我们的应用程序中使用缓存的最佳选择。

在许多其他缓存提供程序 (例如,EhCache、Hazelcaset、Redis等)中,您当然可以使用使用关键的GemFire,或者开源的替代方法Apache来支持Spring的缓存抽象。

在关键的GemFire/Apache设置中,您当然可以使用对等点 (P2P)或客户机/服务器拓扑,这并不重要,一旦“调用”,GemFire/Geode将做正确的事情。

但是,Spring 缓存抽象文档指出,当您调用一个支持缓存的应用程序组件方法(例如,getAddressFor(:Point))时,拦截器将首先“查询”缓存,然后再进行方法调用。如果该值存在于缓存中,则返回该值,并且调用“昂贵”方法调用(例如getAddressFor(:Point))将调用而不是

但是,如果缓存失败,那么Spring将继续调用该方法,并且在成功地从方法调用返回时,在后备缓存提供程序(例如GemFire/Geode)中缓存调用的结果,以便下次使用相同的输入调用方法调用时,将返回缓存的值。

现在,如果您的应用程序使用的是客户/服务器拓扑,那么当然,客户机缓存将把请求转发到服务器,如果.

  1. 相应的客户区域是一个代理,或者..。
  2. 对应的客户端区域是一个CACHING_PROXY,客户端的本地客户端区域不包含请求的地址点。

我鼓励您阅读更多关于不同客户端区域数据管理策略这里的内容。

要查看另一个由关键GemFire在操作中支持的Spring缓存抽象的工作示例,请看一看.

缓存-示例

我在SpringOne-2015的演讲中使用了这个例子来解释以GemFire/Geode作为缓存提供者的缓存。这个特定的例子向REST发出外部请求,以获得“当天的引用”。

希望这能有所帮助!

干杯,约翰

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38640489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档