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);