RedisTemplate共通メソッド

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/sinat_22797429/article/details/89196933

多くの企業は、ビジネス通話を行うために必要な便利なRedisUtilツールにパッケージ化されたパッケージを、redisTemplateなり、この記事では、いくつかの一般的に使用される方法のredisTemplateをまとめました。

Redisの一般的なデータ型:

  • ハッシュ
  • リスト
  • セット
  • トークン
  • ソートセット

文字列型

ノーがある場合は、キー値は、真falseを返しますと対応するかどうかを判断します

redisTemplate.hasKey(key)

キー値に対応する値が抽出されました

redisTemplate.opsForValue().get(key)

単一のキー値を削除します。

redisTemplate.delete(key)

一括削除キー

redisTemplate.delete(keys) //其中keys:Collection<K> keys

キー型バイトに入ってくるシーケンスの現在値[]

redisTemplate.dump(key)

有効期限を設定します

public Boolean expire(String key, long timeout, TimeUnit unit) {
    return redisTemplate.expire(key, timeout, unit);
 }
 public Boolean expireAt(String key, Date date) {
    return redisTemplate.expireAt(key, date);
  }

コレクション型セットを返し、一致するキー値の検索

public Set<String> getPatternKey(String pattern) {
    return redisTemplate.keys(pattern);
}

Redisのは、キーの名前を変更します

 public void renameKey(String oldKey, String newKey) {
    redisTemplate.rename(oldKey, newKey);
}

キーが保存されたの渡された値型を返します

public DataType getKeyType(String key) {
    return redisTemplate.type(key);
}

古い値が新しい値に、古い値が存在する場合

public Boolean renameOldKeyIfAbsent(String oldKey, String newKey) {
    return redisTemplate.renameIfAbsent(oldKey, newKey);
}

Redisの中のキーからランダム撮影

redisTemplate.randomKey()

残りの有効期限は、現在のに対応するキーを返します

 public Long getExpire(String key) {
    return redisTemplate.getExpire(key);
}

残り時間と有効期限指定した単位を返します。

public Long getExpire(String key, TimeUnit unit) {
    return redisTemplate.getExpire(key, unit);
}

キーは、永続的に保存されました

public Boolean persistKey(String key) {
    return redisTemplate.persist(key);
}

Redisの中で指定されたデータベースに現在のデータベースを移動するための鍵

public Boolean moveToDbIndex(String key, int dbIndex) {
    return redisTemplate.move(key, dbIndex);
}

現在のキーと値の値を設定

redisTemplate.opsForValue().set(key, value)

現在の値とキー値、および有効期限を設定を設定します。

redisTemplate.opsForValue().set(key, value, timeout, unit)

キーのサブ文字列に戻ります

public String getCharacterRange(String key, long start, long end) {
    return redisTemplate.opsForValue().get(key, start, end);
}

古いキーの設定値、および古いキーを返します

public String setKeyAsValue(String key, String value) {
    return redisTemplate.opsForValue().getAndSet(key, value);
}

バッチ取得価額

 public List<String> multiGet(Collection<String> keys) {
    return redisTemplate.opsForValue().multiGet(keys);
 }

最後に、新しい文字列の元の値に基づき、

redisTemplate.opsForValue().append(key, value)

変数に格納された増分double値

 public Double incrByDouble(String key, double increment) {
    return redisTemplate.opsForValue().increment(key, increment);
 }

増分だけ(Kキーは、ロングデルタ)メソッドは、長い保存された値(増分値、負デクリメント)をインクリメント

public Long incrBy(String key, long increment) {
    return redisTemplate.opsForValue().increment(key, increment);
}

対応する地図コレクション名が存在しない場合は、追加または変更されていません

Map valueMap = new HashMap();  
valueMap.put("valueMap1","map1");  
valueMap.put("valueMap2","map2");  
valueMap.put("valueMap3","map3");  
redisTemplate.opsForValue().multiSetIfAbsent(valueMap); 

Redisのを設定するには、マップの設定

Map valueMap = new HashMap();  
valueMap.put("valueMap1","map1");  
valueMap.put("valueMap2","map2");  
valueMap.put("valueMap3","map3");  
redisTemplate.opsForValue().multiSet(valueMap);  

文字列の長さを取得します。

redisTemplate.opsForValue().size(key)

カバーは、オフセットオフセットから始まる文字列記憶されたキー所定値パラメータ値によって対処します

redisTemplate.opsForValue().set(key, value, offset)

それはそれ以外の場合はfalse真を返す場合、値に対応するキーをリセット

redisTemplate.opsForValue().setIfAbsent(key, value)

キーに関連付けられた値の値、及び鍵有効期限は、タイムアウトを設定します

redisTemplate.opsForValue().set(key, value, timeout, unit)

オフセット値のバイナリ値は、ビットとなります

redisTemplate.opsForValue().setBit(key, offset, value)

指定されたオフセット上のビット(ビット)を得るキー文字列記憶された値、

redisTemplate.opsForValue().getBit(key, offset)

ハッシュタイプ

Redisのハッシュフィールドは、文字列型とマッピングテーブルの値であり、ハッシュは、オブジェクトを格納するのに特に適しています。
Redisのハッシュは、2 ^ 32--1キーと値のペア(400億)のそれぞれに格納されてもよいです。

キー変数を取得するかどうかは、マップを指定した値を持つ値を取得するにはマップボタンが存在する場合は、ヌルが返されません。

redisTemplate.opsForHash().get(key, field)

変数のキーと値のペアを取得します。

public Map<Object, Object> hGetAll(String key) {
    return redisTemplate.opsForHash().entries(key);
}

新しいハッシュマップ値

redisTemplate.opsForHash().put(key, hashKey, value)

マップのコレクションの形でキーと値のペアを追加します。

public void hPutAll(String key, Map<String, String> maps) {
    redisTemplate.opsForHash().putAll(key, maps);
}

ときハッシュキーの設定は存在しない場合にのみ、

public Boolean hashPutIfAbsent(String key, String hashKey, String value) {
    return redisTemplate.opsForHash().putIfAbsent(key, hashKey, value);
}

ハッシュテーブルの1つまたは複数のフィールドを削除します。

public Long hashDelete(String key, Object... fields) {
    return redisTemplate.opsForHash().delete(key, fields);
}

指定したフィールドが存在しているハッシュテーブルを見ます

public boolean hashExists(String key, String field) {
    return redisTemplate.opsForHash().hasKey(key, field);
}

ハッシュテーブルのキープラスデルタ刻みで指定したフィールドの整数値に

public Long hashIncrBy(String key, Object field, long increment) {
    return redisTemplate.opsForHash().increment(key, field, increment);
}
 public Double hIncrByDouble(String key, Object field, double delta) {
    return redisTemplate.opsForHash().increment(key, field, delta);
}

ハッシュテーブル内のすべてのフィールドを取得します。

redisTemplate.opsForHash().keys(key)

ハッシュテーブル内のフィールドの数を取得します。

redisTemplate.opsForHash().size(key)

ハッシュテーブルに存在するすべての値を取得します。

public List<Object> hValues(String key) {
    return redisTemplate.opsForHash().values(key);
}

、キーと値のペアを一致するキーのすべてを取得するScanOptions.NONEを取得

public Cursor<Entry<Object, Object>> hashScan(String key, ScanOptions options) {
    return redisTemplate.opsForHash().scan(key, options);
}

リストタイプ

インデックスで要素のリストを取得します。

redisTemplate.opsForList().index(key, index)

(0は開始位置、終了の終了位置である、すべての戻りを開始位置を開始-1)指定された範囲内の要素のリストを取得します

redisTemplate.opsForList().range(key, start, end)

リストの先頭に保存されている、すなわち、その一番の指数プットを追加します

redisTemplate.opsForList().leftPush(key, value)

リストに格納された複数の値(値が複数の値であってもよく、それがコレクション値であってもよいです)

redisTemplate.opsForList().leftPushAll(key, value)

追加の時間のリストの存在

redisTemplate.opsForList().leftPushIfPresent(key, value)

現在価値は、フロントピボットにピボットで添加された場合

redisTemplate.opsForList().leftPush(key, pivot, value)

追加するFIFO順(値が複数の値、またはコレクションVAR2であってもよいです)

redisTemplate.opsForList().rightPush(key, value)
redisTemplate.opsForList().rightPushAll(key, value)

右のピボット要素に値を追加

redisTemplate.opsForList().rightPush(key, pivot, value)

指定したインデックスの要素に値を設定します

redisTemplate.opsForList().set(key, index, value)

(リストは要素のリストでない場合は、タイムアウトになるまでブロックしますか、ポップアップ要素を見つけることができるようになるまで待つ)、リストの最初の要素を削除してもらいます

redisTemplate.opsForList().leftPop(key)
redisTemplate.opsForList().leftPop(key, timeout, unit)

リストの最後の要素を削除してもらいます

redisTemplate.opsForList().rightPop(key)
redisTemplate.opsForList().rightPop(key, timeout, unit)

要素のほとんど指定されたキューに右上のキューと別の左から要素をポップ

redisTemplate.opsForList().rightPopAndLeftPush(sourceKey, destinationKey)
redisTemplate.opsForList().rightPopAndLeftPush(sourceKey, destinationKey, timeout, unit)

要素に等しい指数> 0は、ヘッドが第1の値から値を削除開始;インデックス<0、尾部から削除する最初の起動すべての要素に等しい値を削除し、設定値が要素(インデックス= 0の値に等しい削除要素の値に等しい値)

redisTemplate.opsForList().remove(key, index, value)

一覧リストがカットされます

redisTemplate.opsForList().trim(key, start, end)

リストは、キーのリストの現在の長さを取得します。

redisTemplate.opsForList().size(key)

セットタイプ

要素を追加します

redisTemplate.opsForSet().add(key, values)

要素(単一の値、複数の値)を除去します

redisTemplate.opsForSet().remove(key, values)

削除し、ランダムな要素を返します。

redisTemplate.opsForSet().pop(key)

コレクションのサイズを取得します。

redisTemplate.opsForSet().size(key)

設定値が含むかどうかを決定します

redisTemplate.opsForSet().isMember(key, value)

(順不同のコレクションotherKey対応する交差点の非順序集合に対応する鍵)二組の交点を求めます

redisTemplate.opsForSet().intersect(key, otherKey)

セットの共通部分を複数取得する(コレクションvar2で)

redisTemplate.opsForSet().intersect(key, otherKeys)

(単一値またはotherKey設定されてもよい)destKeyセット格納されたキーセットのotherKey交点セット

redisTemplate.opsForSet().intersectAndStore(key, otherKey, destKey)

destKeyに順序付けられていない組のセットのキー交点セットを複数記憶

redisTemplate.opsForSet().intersectAndStore(key, otherKeys, destKey)

2個の以上のセット(otherKeysが単一の値または集合であってもよい)の取得および設定

redisTemplate.opsForSet().union(key, otherKeys)

キーセットと記憶されdestKeyの組のotherKeyセット(otherKeysは、単一の値またはコレクションであってもよいです)

redisTemplate.opsForSet().unionAndStore(key, otherKey, destKey)

差分のセットの2つの以上のセットを取得する(otherKeysは、単一の値またはコレクションであってもよいです)

redisTemplate.opsForSet().difference(key, otherKeys)

差集合destKey(otherKeysは、単一の値または設定されてもよい)に記憶されています

redisTemplate.opsForSet().differenceAndStore(key, otherKey, destKey)

セット内のランダムな要素を取得します

redisTemplate.opsForSet().randomMember(key)

コレクション内のすべての要素を取得します。

redisTemplate.opsForSet().members(key)

数のランダムな要素のコレクションを取得します。

redisTemplate.opsForSet().randomMembers(key, count)

素子(デエンファシス)キー順不同のセットを複数取得し、カウントがの数を表します

redisTemplate.opsForSet().distinctRandomMembers(key, count)

トラバーサルは、同様のInterator(すべてを表示するScanOptions.NONE)を設定しました

redisTemplate.opsForSet().scan(key, options)

ZSETタイプ

ZSetOperationsは順序集合動作する方法の一連を提供する
(昇順に配列された要素のスコア値に応じて設定順序付け)添加元素を

redisTemplate.opsForZSet().add(key, value, score)

対応する値を削除し、値が複数の値であってもよいです

redisTemplate.opsForZSet().remove(key, values)

値は、要素のスコア値を追加し、収益を増やします

redisTemplate.opsForZSet().incrementScore(key, value, delta)

昇順に配列されたランク付け要素のセットは、要素のスコア値に設定されている返します

redisTemplate.opsForZSet().rank(key, value)

要素の順序にあったスコア値に応じて、ランキング内の要素のコレクションを返します。

redisTemplate.opsForZSet().reverseRank(key, value)

(、開始位置開始終了位置を終了-1すべてを照会するために)指定された区間内の要素のコレクションを取得し

redisTemplate.opsForZSet().reverseRangeWithScores(key, start,end)

クエリのセット内の要素の値に応じてスコア、小から大に結果

redisTemplate.opsForZSet().reverseRangeByScore(key, min, max)
redisTemplate.opsForZSet().reverseRangeByScoreWithScores(key, min, max)
//返回值为:Set<ZSetOperations.TypedTuple<V>>

の最小値と最大値との間のソート取得焦点スコア要素を降順

redisTemplate.opsForZSet().reverseRangeByScore(key, min, max, start, end)

スコア値セットに基づいて構成要素の数を取得します。

redisTemplate.opsForZSet().count(key, min, max)

コレクションのサイズを取得します。

redisTemplate.opsForZSet().size(key)
redisTemplate.opsForZSet().zCard(key)

要素の集合に対応するキー、値のスコア値を求めます

redisTemplate.opsForZSet().score(key, value)

メンバーは、指定されたインデックスで除去しました

redisTemplate.opsForZSet().removeRange(key, start, end)

指定されたスコア範囲のアンサンブルのメンバーを削除します。

redisTemplate.opsForZSet().removeRangeByScore(key, min, max)

(otherKeysは、単一の文字列または文字列のセットもあります)を取得し、キーとotherKey設定とdestKeyに保存されています

redisTemplate.opsForZSet().unionAndStore(key, otherKey, destKey)

そしてキーとdestKeyに格納されている(単一の文字列または文字列のセットであってもよいotherKeys)otherKey交点を求めます

redisTemplate.opsForZSet().intersectAndStore(key, otherKey, destKey)

コレクションを(およびイテレータとまったく同じ)

Cursor<TypedTuple<Object>> scan = opsForZSet.scan("test3", ScanOptions.NONE);
        while (scan.hasNext()){
            ZSetOperations.TypedTuple<Object> item = scan.next();
            System.out.println(item.getValue() + ":" + item.getScore());
        }

おすすめ

転載: blog.csdn.net/sinat_22797429/article/details/89196933