zeng

zeng

may world peace

RedissonでRedisの5つの基本データ型を操作する方法

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 はキーと値のペアの集合です。Redis hash は string タイプのフィールドと値のマッピングテーブルであり、hash はオブジェクトを保存するのに特に適しています。Hash はオブジェクトを保存するのに適しており、データベースで属性を更新するように特定の属性値のみを変更できます(全体の文字列を取り出してオブジェクトにデシリアライズし、修正後に再シリアライズして戻す必要はありません)。例えば、ユーザー属性の保存、読み取り、変更などです。

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 を統計したり、友達推薦時にタグに基づいて交差点を求めたりし、特定の閾値を超えた場合に推薦できます。

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");
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。