いいえ、SETEX
でハッシュを作成することはできません (これは文字列メソッドです)。 EXPIRE
を呼び出すことができます ハッシュキーで、しかしそれはハッシュ全体を期限切れにします。現時点では、個々のハッシュキーと値のペアの有効期限はサポートされていません。
更新:
個々の要素を設定しながらハッシュ全体に有効期限を設定したい場合は、いくつかの方法でそれを実現できます。
-
パイプラインを使用します。パイプラインは、redisクライアントが次のコマンドを送信する応答を待たずに、複数のコマンドをすばやく連続して発行する特別な操作モードです。これがルビーの例です:
redis.pipelined do redis.hset "foo", "bar", 1 redis.expire "foo", 300 end
-
トランザクションを使用します。監視されたキーがない場合、これはパイプラインに似ています(トランザクションは中止できません)。コマンドは一緒にアトミックに実行されることが保証されています(いくつかのパイプラインはインターリーブで実行でき、トランザクションはシリアル化されます)
redis.multi do redis.hset "foo", "bar", 1 redis.expire "foo", 300 end
-
luaスクリプトを使用して、カスタムHSETEXコマンドを実装します。アトミックに実行され、(2(パイプライン)または4(トランザクション)の代わりに)1つのコマンドを送信するだけです。