麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

詳解spring cloud hystrix請求緩存(request cache)

2024-07-14 08:40:56
字體:
來源:轉載
供稿:網友

hystrix支持將一個請求結果緩存起來,下一個具有相同key的請求將直接從緩存中取出結果,減少請求開銷。要使用該功能必須管理HystrixRequestContext,如果請求B要用到請求A的結果緩存,A和B必須同處一個context。通過HystrixRequestContext.initializeContext()和context.shutdown()可以構建一個context,這兩條語句間的所有請求都處于同一個context,當然這個管理過程可以通過自定義的filter來實現,參考上一篇文章http://www.companysz.com/kaifa/java/310828.html

Hystrix請求緩存注解

@CacheResult 加入該注解的方法將開啟請求緩存,默認情況下該方法的所有參數作為緩存的key,也就是說只有該方法的所有參數都一致時才會走緩存。

@Servicepublic class UserCacheService {  @Autowired  private UserFeignClient userFeignClient;  /**   * @HystrixCommand 的requestCache.enabled 可控制是否支持緩存   * 只有加了@CacheResult才能緩存,即使requestCache.enabled=true   * @param id  用戶id   * @return 指定的用戶   */  @CacheResult  @HystrixCommand(commandProperties = {      @HystrixProperty(name="requestCache.enabled",value = "true")  })  public User findUserById(Integer id){    return userFeignClient.findUserById(id);  }}

如果requestCache.enabled設置為false,即使加了@CacheResult,緩存也不起作用。

@CacheKey 通過該注解可以指定緩存的key

 @CacheResult  @HystrixCommand(commandProperties = {      @HystrixProperty(name="requestCache.enabled",value = "true")  })  public User findUserByIdAndName(@CacheKey Integer id,String name){    return userFeignClient.findUserById(id);  }

上面的代碼我們用@CacheKey修飾了id字段,說明只要id相同的請求默認都會走緩存,與name字段無關,如果我們指定了@CacheResult的cacheKeyMethod屬性,則@CacheKey注解無效

@CacheRemove 該注解的作用就是使緩存失效

/**   * 通過@CacheRemove 注解指定當調用findUserById時將此方法的緩存刪除   * @param id  用戶id   * @param name 用戶姓名   * @return 指定的用戶   */  @CacheResult  @CacheRemove(commandKey = "findUserById")  @HystrixCommand(commandProperties = {      @HystrixProperty(name="requestCache.enabled",value = "true")  })  public User findUserByIdAndName2(@CacheKey Integer id,String name){    return userFeignClient.findUserById(id);  }

以上代碼指定了@CacheRemove的屬性commandKey的值為findUserById,作用就是當調用findUserById時,此方法的緩存將刪除。

完整版代碼請參考:https://github.com/jingangwang/micro-service

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久国久产久精永久网页 | 色网站免费观看 | 日本综合久久 | 色天使中文字幕 | 永久久久 | 激情九九| av在线直播观看 | 国产精品亚洲综合一区二区三区 | 成人18在线 | 久草导航 | 国产精品久久久久久久久久东京 | 九九精品影院 | 久久电影一区二区 | 日韩精品久久久久久久电影99爱 | 久久久久久久高清 | 国内精品久久久久久久久久久久 | 久久福利小视频 | 国产亚洲精久久久久久蜜臀 | 羞羞视频免费网站入口 | 中文字幕在线免费 | 涩涩操 | 黄色视屏免费看 | 国产高潮好爽好大受不了了 | 欧美一级高潮片免费的 | 色域tv| 爽成人777777婷婷 | 毛片大全免费看 | 在线无码 | 国产九色91 | 久久精品国产久精国产 | 高清在线观看av | 精品国产一区二区三区久久久狼牙 | 久草在线手机观看 | 欧美囗交 | 在线观看网址av | 精品国产九九九 | 中文字幕欧美在线 | 亚洲婷婷日日综合婷婷噜噜噜 | 澳门一级淫片免费视频 | 一本色道久久综合亚洲精品小说 | chinese xvideos gay|