日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者:唐尤華

來源:https://urlify.cn/FRvaAv

最強 Java Redis 客戶端

 

為什么要在%20JAVA%20分布式應用程序中使用緩存?

在提高應用程序速度和性能上,每一毫秒都很重要。根據谷歌的一項研究,假如一個網站在3秒鐘或更短時間內沒有加載成功,會有%2053%%20的手機用戶會離開。

緩存是讓分布式應用程序加速的重要技術之一。存儲的信息越接近%20CPU,訪問速度就越快。從%20CPU%20緩存中加載數據比從%20RAM%20中加載要快得多,比從硬盤或網絡上加載要快得多得多。

要存儲經常訪問的數據,分布式應用程序需要在多臺機器中維護緩存。分布式緩存是降低分布式應用程序延遲、提高并發性和可伸縮性的一種重要策略。

redis%20是一種流行的開源內存數據存儲,可用作數據庫、緩存或消息代理。由于是從內存而非磁盤加載數據,Redis%20比許多傳統的數據庫解決方案更快。

然而,對開發者來說讓%20Redis%20分布式緩存正確工作是一個巨大挑戰。例如,必須謹慎處理本地緩存失效,即替換或刪除緩存條目。每次更新或刪除存儲計算機本地緩存中的信息時,必須更新分布式緩存系統所有計算機內存中的緩存。

好消息是,有一些類似%20Redisson%20這樣的%20Redis%20框架,可以幫助構建應用程序所需的分布式緩存。下一節將討論%20Redisson%20中分布式緩存的三個重要實現:Maps、Spring%20Cache%20和%20JCache。

1.%20Redisson%20分布式緩存

Redisson%20是一個基于%20Redis%20的框架,用%20Java%20實現了一個%20Redis%20包裝器(wrApper)和接口。Redisson%20包含許多常見的%20Java%20類,例如分布式對象、分布式服務、分布式鎖和同步器,以及分布式集合。正如下面即將介紹的,其中一些接口同時支持分布式緩存和本地緩存。

2.%20Map

Map%20是%20Java%20最有用的集合之一。Redisson%20提供了一個名為%20RMap%20的%20Java%20Map%20實現,支持本地緩存。

如果希望執行多個讀操作或網絡環回(roundtrip),應使用支持本地緩存的%20RMap。通過本地存儲%20Map%20數據,RMap%20比不啟用本地緩存時快45倍。通用分布式緩存使用%20RMapCache,本地緩存使用%20RLocalCachedMap。

Redis%20引擎自身能夠執行緩存,不需要在客戶端執行代碼。然而,雖然本地緩存能顯著提高讀取速度,但需要由開發人員維護,并且可能需要一些開發工作。Redisson%20為開發人員提供了%20RLocalCachedMap%20對象,讓本地緩存實現起來更容易。

下面的代碼展示了如何初始化%20RMapCache%20對象:

RMapCache<String,SomeObject>map=redisson.getMapCache("anyMap");map.put("key1",newSomeObject(),10,TimeUnit.MINUTES,10,TimeUnit.SECONDS);

上面的代碼將字符串%20"key1"%20放到%20RMapCache%20中,并與%20SomeObject()%20關聯。然后它指定了兩個參數,TTL設為10分鐘、最大空閑時間10秒。

當不再需要時,應銷毀%20RMapCache%20對象:

map.destroy();

Redisson%20關閉后不用再做銷毀操作。

3.%20Spring%20Cache

Spring%20是一個用于構建企業級%20Web%20應用程序的%20Java%20框架,也提供了緩存支持。

Redisson%20包含了%20Spring%20緩存功能,提供兩個對象:RedissonSpringCacheManager%20和%20RedissonSpringLocalCachedCacheManager。RedissonSpringLocalCachedCacheManager%20支持本地緩存。

下面是一個%20RedissonSpringLocalCachedCacheManager%20對象的示例配置:

 

 

此外,還可以讀取 JSON 或 YAML 文件配置 RedissonSpringCacheManager。

與 RMaps 一樣,每個 RedissonSpringCacheManager 實例都有兩個重要參數: ttl(生存時間)和 maxIdleTime。如果這些參數設為0或者沒有定義,那么數據將無限期地保留在緩存中。

4. JCache

JCache 是一個 Java 緩存 API,允許開發人員從緩存臨時存儲、檢索、更新和刪除對象。

Redisson 提供了 Redis 的 JCache API 實現。下面是在 Redisson 中使用默認配置調用 JCache API 的示例:

MutableConfiguration<String,String>config=newMutableConfiguration<>();CacheManagermanager=Caching.getCachingProvider().getCacheManager();Cache<String,String>cache=manager.createCache("namedCache",config);

此外,還可以使用自定義配置文件、Redisson Config 對象或 Redisson RedissonClient 對象配置 JCache。例如,下面的代碼使用自定義 Redisson 配置來調用 JCache:

MutableConfiguration<String,String>jcacheConfig=newMutableConfiguration<>();ConfigredissonCfg=...Configuration<String,String>config=RedissonConfiguration.fromConfig(redissonCfg,jcacheConfig);CacheManagermanager=Caching.getCachingProvider().getCacheManager();Cache<String,String>cache=manager.createCache("namedCache",config);

Redisson 的 JCache 實現已經通過 JCache TCK 的所有測試。你也可以自行驗證。

讓我們愉快地使用緩存吧!


 

分享到:
標簽:Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定