Redis トランザクションとパイプラインについて

藏色散人
リリース: 2020-11-05 16:04:03
転載
2559 人が閲覧しました

次のコラム Redis チュートリアル では、Redis トランザクションとパイプラインについて紹介します。困っている友人の役に立てば幸いです。

Redis トランザクションとパイプラインについて

#1. reidis トランザクション

Redis トランザクションは一度に複数のコマンドを実行でき、次の 3 つの重要なコマンドがあります。保証:

    バッチ操作は、EXEC コマンドを送信する前にキュー キャッシュに入れられます。
  • EXEC コマンドを受信した後、トランザクションの実行を開始します。トランザクション内のいずれかのコマンドが実行に失敗した場合でも、残りのコマンドは引き続き実行されます。
  • トランザクション実行プロセス中、他のクライアントによって送信されたコマンド要求は、トランザクション実行コマンド シーケンスに挿入されません。
トランザクションは、開始から実行まで次の 3 つの段階を経ます:

    トランザクションの開始。
  • キューに参加するコマンド。
  • トランザクションを実行します。

MULTI トランザクションを開始し、複数のコマンドをトランザクションにキューに入れ、最後に EXEC コマンドによってトランザクションがトリガーされます。 , トランザクション内のすべてのコマンドを一緒に実行します:

1. トランザクションの実行

Redis トランザクションとパイプラインについて

2. watch

1 つ (または複数) のキーを監視します。トランザクションが実行される前に、この (またはこれらの) キーが他のコマンドによって変更された場合、トランザクションは中断されます。

Redis トランザクションとパイプラインについてRedis トランザクションとパイプラインについて

3. 破棄

トランザクションをキャンセルして譲渡します。 up 実行 トランザクション ブロック内のすべてのコマンド。

Redis トランザクションとパイプラインについて

2. jedis コード

1. 設定サポートトランザクション
template.setEnableTransactionSupport(true);
ログイン後にコピー
<br>
ログイン後にコピー

2. コード:

##

 redisTemplate.opsForValue().set("aaa", 321);
redisTemplate.watch("aaa");
redisTemplate.multi();
redisTemplate.opsForValue().set("aaa", 123);
redisTemplate.opsForValue().set("bbb", 123);
redisTemplate.exec();
ログイン後にコピー
<br>
3.pipleline

jedis コード:

Map<string> map = new HashMap();
map.put("aaa", 111);
map.put("bbb", 222);
map.put("ccc", 3333);

List list = redisTemplate.executePipelined(new RedisCallback<object>() {
    @Override
    public Object doInRedis(RedisConnection redisConnection) throws DataAccessException {
        redisConnection.openPipeline();        for (Map.Entry<string> mapEntry : map.entrySet()) {
            redisConnection.set(redisTemplate.getKeySerializer().serialize(mapEntry.getKey()), redisTemplate.getValueSerializer().serialize(mapEntry.getValue()));
        }        return null;
    }
}, redisTemplate.getValueSerializer());

System.out.println(redisUtil.get("aaa"));
System.out.println(redisUtil.get("bbb"));
System.out.println(redisUtil.get("ccc"));</string></object></string>
ログイン後にコピー
<br>

以上がRedis トランザクションとパイプラインについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!