Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

アイテムをあるリストから別のリストにポップ&プッシュする方法-Redis RPOPLPUSH | BRPOPLPUSH

このチュートリアルでは、あるキーに保存されているリスト値の最後の要素を削除して返す方法と、redisデータストアの別のキーに保存されているリスト値の最初の位置に同じ要素を挿入する方法について学習します。このために、Redis RPOPLPUSHを使用します およびBRPOPLPUSH コマンド。

RPOPLPUSHコマンド

このコマンドは、ソースキーに格納されているリスト値の末尾(end)から要素を削除して返し、宛先キーに格納されているリスト値の先頭(start)に同じ要素を挿入するために使用されます。ソースキーが存在しない場合は、nil値が返され、操作は実行されません。宛先キーが存在しない場合は、挿入操作を実行する前に、最初に空のリストとして作成されます。

ソースキーと宛先キーが同じである場合、この操作はリスト要素のローテーションと同じです。 redisRPOPLPUSHコマンドの構文は次のとおりです。-

構文:-

redis host:post> RPOPLPUSH <keyname-source> <keyname-destination>

出力:-

- (string) reply, representing popped element of the source list.
- (nil), if source key does not exists.
- Error, if source or destination key exist and value stored at the key is not a list.

例:-

アイテムをあるリストから別のリストにポップ&プッシュする方法-Redis RPOPLPUSH | BRPOPLPUSH

BRPOPLPUSHコマンド

このコマンドは、ソースリスト値からポップする要素がない場合に操作をブロックするため、RPOPLPUSHコマンドのブロックバージョンです。つまり、ソースキーのリスト値が空の場合、またはソースキーが存在しない場合の操作をブロックします。

別のクライアントがLPUSH、RPUSH、LINSERTなどのコマンドを実行してソースリストの値に要素を挿入すると、クライアントはブロックを解除してRPOPLPUSH操作を実行します。

ゼロ以外のタイムアウトが指定され、ソースキーに対する挿入操作なしでタイムアウトが期限切れになると、クライアントはブロックを解除してnull値を返します。

タイムアウト引数は、ブロックする最大秒数を表す整数値です。 0秒のタイムアウトを使用して、無期限にブロックできます。

RedisBRPOPLPUSHコマンドの構文は次のとおりです。-

構文:-

redis host:post> BRPOPLPUSH <keyname-source> <keyname-destination> <timeout>

出力:-

- (string) reply, representing popped element of the source list.
- (nil) reply, when no element could be popped and timeout is expired.

例:-

アイテムをあるリストから別のリストにポップ&プッシュする方法-Redis RPOPLPUSH | BRPOPLPUSH

参照:-

  1. RPOPLPUSHコマンドドキュメント
  2. BRPOPLPUSHコマンドドキュメント

気に入った場合は、コメントセクションで自分の考えを共有し、他の人にも共有してください。

<-コマンドの一覧表示


  1. Redis SMOVE –Redisで要素をあるセットから別のセットに移動する方法

    このチュートリアルでは、要素をある設定値からredisデータストアに保存されている別の設定値に移動する方法について学習します。このために、コマンドを使用します– SMOVE redis-cliで。 このコマンドは、ソースに保存されている設定値から指定された要素を削除するために使用されます キーを押して、同じ指定された要素を宛先に保存されている設定値に挿入します 鍵。この操作はアトミックです。つまり、指定された要素は、いつでもソース設定値または宛先設定値のいずれかのメンバーであるように見えます。 ソースキーの設定値が存在しないか、指定された要素が含まれていない場合、操作は実行されず、0が

  2. Google フォトをあるアカウントから別のアカウントに転送する方法

    Google フォトは、ユーザーが思い出を保存するのに役立つ優れたクラウド ストレージです。このオンライン サービスは、Google ドライブをバックエンドとして使用します。つまり、最大 15 GB の無料のストレージ容量があります。私たちのほとんどは、誰もが必要とするよりも 15GB 多いと考えるでしょう。しかし、一部の人 (私を含む) は、より多くのクラウド ストレージを必要とします。もちろん、Google ドライブで追加のストレージ スペースを購入するか、複数の無料アカウントを作成して、すべてのアカウントで 15 GB を使用することができます。 また、ある Google アカウントか