序文
前に文字列データ構造springboot(StringRedisTemplate)Redisの操作を説明し、この記事では、リストデータ構造を説明します
操作を持つリストデータ構造
マップはRedisのリストデータ構造を有する方法を示しています
この方法は、StringRedisTemplateを提供します
RedisTemplateのRedisのリストは以下のように動作する方法を提供します。
以下では、一般的方法を説明するための例として使用されるいくつかは、他の方法は、APIを参照することができます選択します。
範囲
以下のように、リスト、および3つの値がありますhappyjava:Redisのは今のキーでリストを、持っています:
範囲(Kキー、長い開始、長い端)メソッドは、コンテンツリストの指定された範囲を得ることです
ゼロから始める添字。次のように、素子の第2の三分の一を得ました。
@Test
public void testList() {
List<String> list = redisTemplate.opsForList().range("happyjava:list", 1, 2);
assert list != null;
list.forEach(System.out::println);
}
复制代码
出力:
blog.happyjava.cn
www.happyjava.cn
复制代码
サイズ(Kキー)
サイズのリストを取得します
@Test
public void testSize() {
Long size = redisTemplate.opsForList().size("happyjava:list");
System.out.println(size);
}
复制代码
出力:
leftPush(Kキー、V値)
リストの左から圧入方式識別データ(リストの上部または頭部)。キーが存在しない場合は、キーが作成されます。
@Test
public void testLeftPush() {
redisTemplate.opsForList().leftPush("happyjava:list", "new happyjava");
}
复制代码
実行後、Redisの中のデータを表示するには:
leftPushAll
オーバーロードされた二つの方法、すなわち、可変パラメータがあります。leftPushAll(Kキー、V ...値);,
設定パラメータ:leftPushAll(Kキー、コレクション値)
不確かなパラメータ:
@Test
public void testLeftPushAll() {
redisTemplate.opsForList().leftPushAll("happyjava:list","apple","happy");
}
复制代码
ビューのデータを実行した後:
パラメータのセット:
@Test
public void testLeftPushAll() {
// redisTemplate.opsForList().leftPushAll("happyjava:list","apple","happy");
redisTemplate.opsForList().leftPushAll("happyjava:list", Arrays.asList("new happy1", "new happy2"));
}
复制代码
ビューのデータを実行した後:
rightPush(Kキー、V値)
リストの末尾からデータを圧入
@Test
public void testRightPush() {
redisTemplate.opsForList().rightPush("happyjava:list","java");
}
复制代码
Redisのビューのデータを実行した後:
rightPushAll
二つの方法があるとして、次のようにこの方法leftPushAllクラスは、オーバーロードされます。
ここでは、あまりにも多くの導入を行うにはありません。
セット(Kキー、長いインデックス、V値)方法
直接リストに目標値を設定することができ、インデックスは0から始まります
@Test
public void testSet() {
redisTemplate.opsForList().set("happyjava:list",1,"test set");
}
复制代码
Redisの表示を行った後、
(Kキー、長い数、オブジェクト値)を削除する方法
値を削除するには、数1を削除し、ゼロから削除
次のように今、Redisのデータは以下のとおりです。
以下のコードを実行します。
@Test
public void testRemove() {
redisTemplate.opsForList().remove("happyjava:list",2,"happy");
}
复制代码
ビューのデータを実行した後:
インデックス(Kキー、長いインデックス)方法
基礎となる要素の下のインデックス(0から始まる)を返します。次のように今、Redisのデータは以下のとおりです。
@Test
public void testIndex() {
String value = redisTemplate.opsForList().index("happyjava:list", 1);
System.out.println(value);
}
复制代码
次のように実行結果は以下のとおりです。
leftPop
2つのオーバーロードされた方法があります。
V leftPop(Kキー)。
V leftPop(Kキー、長いタイムアウト、TimeUnitでユニット)
この方法は、ヘッドの要素のリストを(ポップした後、リストで削除)ポップアップ表示されます、スタック、メソッドのオーバーロード、データのリストが存在しない場合は、(最長ライブブロック、およびそのデータが返されるように設定された時間をブロッキング・タイムアウト)。この方法は、操作に対応し(左側ポップブロッキング)のRedis BLPOPあります
rightPop
そしてleftPop似ていますが、尾からのポップアップリストデータ
概要
この記事は方法のほとんどが説明し、証明するために行われている、リストデータ構造springbootのRedisの操作を説明します。Redisのリストには、非常に一般的に使用されるデータ構造で、将来はRedisのに他のデータ構造を説明していきます。
ます。https://juejin.im/post/5d05e7cee51d455d88219ef4で再現