sql >> データベース >  >> NoSQL >> Redis

Redisでハッシュマップ値の有効期限を設定しますか?

    いいえ、SETEXでハッシュを作成することはできません (これは文字列メソッドです)。 EXPIREを呼び出すことができます ハッシュキーで、しかしそれはハッシュ全体を期限切れにします。現時点では、個々のハッシュキーと値のペアの有効期限はサポートされていません。

    更新:

    個々の要素を設定しながらハッシュ全体に有効期限を設定したい場合は、いくつかの方法でそれを実現できます。

    1. パイプラインを使用します。パイプラインは、redisクライアントが次のコマンドを送信する応答を待たずに、複数のコマンドをすばやく連続して発行する特別な操作モードです。これがルビーの例です:

      redis.pipelined do
        redis.hset "foo", "bar", 1
        redis.expire "foo", 300
      end
      
    2. トランザクションを使用します。監視されたキーがない場合、これはパイプラインに似ています(トランザクションは中止できません)。コマンドは一緒にアトミックに実行されることが保証されています(いくつかのパイプラインはインターリーブで実行でき、トランザクションはシリアル化されます)

      redis.multi do
        redis.hset "foo", "bar", 1
        redis.expire "foo", 300
      end
      
    3. luaスクリプトを使用して、カスタムHSETEXコマンドを実装します。アトミックに実行され、(2(パイプライン)または4(トランザクション)の代わりに)1つのコマンドを送信するだけです。




    1. MongoDB $ indexOfCP

    2. pyarrowを使用してPandasデータフレームをRedisに設定/取得する方法

    3. Redis / Node.js-2つのクライアント(1つのpub / sub)が書き込みの問題を引き起こしている

    4. Mongooseを使用してMongoDBトランザクションを使用するにはどうすればよいですか?