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

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

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

redis具有很多值得推薦的功能,包括速度,可伸縮性和可用性。但是,有一個問題是Redis不包括對JAVA之類的編程語言的內置支持。相反,用戶需要為Redis安裝第三方Java客戶端,例如Redisson。

Redisson是Redis Java客戶端,其中包含許多熟悉的Java對象,接口和集合,這使Java開發人員比以往任何時候都更容易地開始使用Redis。下面,我們將討論Radisson用戶所依賴的5個基于Redis的頂級Java對象。

1.Map

Java中的Map接口用于將鍵映射到值的對象。

Redisson使用RMap接口在Redis中實現Map 。旋轉地圖實現了所有的Redis的熟悉地圖的方法:containsKey(),containsValue(),get(),isEmpty(),keySet(),put(),putIfAbsent(),remove(),replace(),values(),等等。

以下是有關如何在Redisson中使用RMap接口的快速示例:

RMap<String, SomeObject> map = redisson.getMap("anyMap");
SmeObject prevObject = map.put("123", new SomeObject());
3
SomeObject currentObject = map.putIfAbsent("323", new SomeObject());
4
SomeObject obj = map.remove("123");

RMap接口包括對Async,Reactive和RxJava2的支持。此外,RMap還具有本地緩存??和數據分區等功能,因此可以極大地加快讀取操作并提高可伸縮性。

前5個基于Redis的Java對象

 

2.Set

Java中的Set接口用于無重復值的元素的無序集合。

Redisson器具設置在Redis的與RSET接口。RSET實現所有的Redis的熟悉的設置方法:add(),addAll(),clear(),contains(),containsAll(),equals(),isEmpty(),remove(),removeAll(),size(),等等。

以下是有關如何在Redisson中使用RSet接口的快速示例:

RSet<SomeObject> set = redisson.getSet("anySet");
set.add(new SomeObject());
set.remove(new SomeObject());

與RMap一樣,RSet也支持數據分區,以提高性能并加快讀/寫操作。另外,用戶可以為RMap中的元素定義驅逐策略(即每個條目的生存時間)。

3.holder

Java中的Holder類用于存儲指定類型的值,同時允許對該值進行副作用修改(例如,為了在Java中實現按引用調用)。

Redisson通過RBucket接口在Redis中實現了Holder類,該接口可以容納任何類型的對象。RBucket工具方法,如compareAndSet(),get(),getAndDelete(),getAndSet(),set(),size(),trySet(),等等。對象的最大大小為512兆字節。

以下是有關如何在Redisson中使用RBucket接口的快速示例:

RBucket<AnyObject> bucket = redisson.getBucket("anyObject");
bucket.set(new AnyObject(1));
AnyObject obj = bucket.get();
bucket.trySet(new AnyObject(3));
bucket.compareAndSet(new AnyObject(4), new AnyObject(5));
bucket.getAndSet(new AnyObject(6));

RBucket接口包括對Async,Reactive和RxJava2的支持。

前5個基于Redis的Java對象

 

4.Lock

Java中的Lock類用于“鎖定”對共享資源的訪問,以同步多個線程。鎖是多線程和分布式編程的關鍵部分,這就是為什么鎖在Redisson用戶中也很受歡迎的原因。

Redisson通過RLock接口在Redis中實現Lock類。RLOCK實現所有的Redis的熟悉鎖方法:lock(),lockInterruptibly(),tryLock(),unlock(),等等。

以下是有關如何在Redisson中使用RLock接口的快速示例:

RLock lock = redisson.getLock("myLock");
//傳統的鎖定方法
lock.lock();
// 或獲取鎖定,并在10秒后自動將其解鎖
lock.lock(10, TimeUnit.SECONDS);
//或等待鎖獲取長達100秒 
//并在10秒后自動將其解鎖
boolean res = lock.tryLock(100, 10, TimeUnit.SECONDS);
if (res) {
   try {
     ...
   } finally {
       lock.unlock();
   }
}

RLock接口包括對Async,Reactive和RxJava2的支持。Redisson還實現了各種類型的鎖,例如公平鎖,MultiLock,Redlock和ReadWriteLocks。

前5個基于Redis的Java對象

 

5.ExecutorService

Java中的ExecutorService接口用于異步執行Runnable和Callable對象。

Redisson實現了Redis的的ExecutorService的接口與RExecutorService接口。RExecutorService實現所有的Redis的熟悉的ExecutorService方法:invokeAll(),invokeAny(),isShutdown(),isTerminated(),shutdown(),shutdownNow(),submit(),等等。

以下是有關如何在Redisson中使用RExecutorService接口的快速示例:

RExecutorService executorService = redisson.getExecutorService("myExecutor", options);
executorService.submit(new RunnableTask(123));
RExecutorService executorService = redisson.getExecutorService("myExecutor", options);
Future<Long> future = executorService.submit(new CallableTask());
Long result = future.get();

RExecutorService接口包括對Runnable和Callable對象,Lambda任務以及Spring Bean任務的支持。

結論

Redisson內置了對Redis中許多最常見Java對象的內置支持,包括Map,Set,Objectholder,Lock和ExecutorService。

分享到:
標簽:對象 Redis 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

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