[14]リストの速い。Redisの操作を学ぶspringboot

序文

前に文字列データ構造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で再現

おすすめ

転載: blog.csdn.net/weixin_34096182/article/details/93183802