SpringCloud详解 第三章 服务容错保护 Hystrix(四)

本章介绍Hystrix请求缓存(持续更新中...)

在高并发的场景之下, Hystrix 中提供了请求缓存的功能, 我们可以方便地开启和使用请求缓存来优化系统, 达到减轻高并发时的请求线程消耗、 降低请求响应时间的效果。

  开启请求缓存功能 :Hystrix 请求缓存的使用非常简单, 我们只需要在实现 HystrixCommand 或 HystrixObservableCommand 时, 通过重载 getCacheKey ()方法来开启请求缓存。通过开启请求缓存可以让我们实现的 Hystrix 命令具备下面几项好处:

  • 减少重复的请求数, 降低依赖服务的并发度。
  • 在同一 用户请求的上下文中, 相同依赖服务的返回数据始终保持 一 致。
  • 请求缓存在 run() 和 construct ()执行之前生效, 所以可以有效减少不必要的线程开销。

  清理失效缓存功能

  清除缓存有两个方式

//刷新缓存,根据id进行清理 自己写一个flush方法。通过idzuoweikey清除
HystrixRequestCache.getInstance(GETTER_KEY,HystrixConcurrencyStrategyDefault.getinstance()).clear(String.valueOf(id));
//刷新缓存, 清理缓存中失效的User,直接调用flush方法
HelloCommand.flushCache(id);

 

posted @ 2020-10-02 18:04  跃小云  阅读(65)  评论(0编辑  收藏  举报