English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis Exec コマンドは、すべてのトランザクションブロック内のコマンドを実行するために使用されます。
redis Exec コマンドの基本的な语法は以下の通りです:
redis 127.0.0.1:6379> Exec
>= 1.2.0
トランザクションブロック内のすべてのコマンドの返り値は、コマンドの実行順序に従って並べられます。 操作が中断された場合、空値 nil を返します。
# トランザクションが成功実行されました redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> INCR user_id QUEUED redis 127.0.0.1:6379> INCR user_id QUEUED redis 127.0.0.1:6379> INCR user_id QUEUED redis 127.0.0.1:6379> PING QUEUED redis 127.0.0.1:6379> EXEC 1) (integer) 1 2) (integer) 2 3) (integer) 3 4) PONG # key を監視し、トランザクションが成功実行されました redis 127.0.0.1:6379> WATCH lock lock_times OK redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET lock "huangz" QUEUED redis 127.0.0.1:6379> INCR lock_times QUEUED redis 127.0.0.1:6379> EXEC 1) OK 2) (integer) 1 # key を監視し、トランザクションが中断された redis 127.0.0.1:6379> WATCH lock lock_times OK redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET lock "joe" # その時、別のクライアントが lock_times の値を変更しました QUEUED redis 127.0.0.1:6379> INCR lock_times QUEUED redis 127.0.0.1:6379> EXEC # lock_times が変更されたため、joe のトランザクション実行が失敗しました (nil)