zeng

zeng

may world peace

Redisson中怎麼操作Redis五種基本數據類型

Redisson 中怎麼操作 Redis 五種基本數據類型

Redis 支持五種數據類型:

  1. string(字符串)
  2. hash(哈希)
  3. list(列表)
  4. set(集合)
  5. zset (sorted set:有序集合)
string#

string 是 redis 最基本的類型,string 類型是二進制安全的。意思是 redis 的 string 可以包含任何數據。比如 jpg 圖片或者序列化的對象。string 類型是 Redis 最基本的數據類型,string 類型的值最大能存儲 512MB。

Redisson 將 Redis 中的字符串數據結構封裝成了 RBucket,通過 RedissonClient 的 getBucket (key) 方法獲取一個 RBucket 對象實例,通過這個實例可以設置 value 或設置 value 和有效期。

RBucket<Object> rBucket = redissonClient.getBucket("k1");
rBucket.set("v1",500, TimeUnit.MILLISECONDS);
String sValue = (String) rBucket.get();
hash#

Redis hash 是一個鍵值 (key=>value) 對集合。Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用於存儲對象。Hash 適合存儲對象,並且可以像數據庫中 update 一個屬性一樣只修改某一項屬性值 (不需取出整個字符串反序列化成對象修改完再序列化存回去),比如存儲、讀取、修改用戶屬性。

Redisson 將 Redis 中的字符串數據結構封裝成了 RMap

final RMap rMap = redissonClient.getMap("m1");
rMap.put("id","1");
rMap.put("name","jk");
rMap.expire(500,TimeUnit.MILLISECONDS);
String mValue = (String) rMap.get("name");
list#

Redis 列表 List 是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。List 可用於最新消息排行,比如朋友圈的時間線),或者消息隊列。

Redisson 將 Redis 中的字符串數據結構封裝成了 RList

final RList<Object> rList = redissonClient.getList("l1");
rList.add("tom");
rList.add("king");
rList.add("jack");
rList.expire(500,TimeUnit.MILLISECONDS);
String lValue = (String) rList.get(1);
set#

Redis 的 Set 是 string 類型的無序集合。集合是通過哈希表實現的,所以添加,刪除,查找的複雜度都是 O (1)。Set 適用於處理共同好友,或利用唯一性,統計訪問網站的所有獨立 ip,以及好友推薦時,根據 tag 求交集,大於某個閾值就可以推薦。

Redisson 將 Redis 中的字符串數據結構封裝成了 RSet

final RSet<Object> rSet = redissonClient.getSet("s1");
rSet.add("java");
rSet.add("javascript");
rSet.expire(500,TimeUnit.MILLISECONDS);//通過key獲取所有的
valueredissonClient.getSet("s1");
zset#

Redis zset 和 set 一樣也是 string 類型元素的集合,且不允許重複的成員。不同的是每個元素都會關聯一個 double 類型的分數。redis 正是通過分數來為集合中的成員進行從小到大的排序。zset 的成員是唯一的,但分數 (score) 卻可以重複。Zset 適用於排行榜,或者帶權重的消息隊列。

Redisson 將 Redis 中的字符串數據結構封裝成了 RScoredSortedSet

RScoredSortedSet<Object> rScoredSortedSet = redissonClient.getScoredSortedSet("zs1");
rScoredSortedSet.addScore("tom",3.0);
rScoredSortedSet.addScore("king",3.5);//通過key獲取所有的
valueredissonClient.getScoredSortedSet("zs1");
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。