首页 > 代码库 > Redis命令学习-?Transaction(事务)

Redis命令学习-?Transaction(事务)

?DISCARD

    ?DISCARD :取消事务,放弃运行事务块内的全部代码。假设在使用WATCH命令监视某个key。则取消监视,等同于UNWATCH。

    ?返回值:总是返回ok。    ?

    ?
  1. 127.0.0.1:6379> MULTI
  2. OK
  3. 127.0.0.1:6379> PING
  4. QUEUED
  5. 127.0.0.1:6379> SET greeting "hello"
  6. QUEUED
  7. 127.0.0.1:6379> DISCARD
  8. OK
  9. 127.0.0.1:6379> GET greeting
  10. (nil)

EXEC

    ?EXEC:运行全部事务块内的命令。

    ?返回值:事务块内全部命令的返回值,按命令运行的先后顺序运行。

操作被打断时,返回nil。

  1. 127.0.0.1:6379> MULTI
  2. OK
  3. 127.0.0.1:6379> INCR user_id
  4. QUEUED
  5. 127.0.0.1:6379> INCR user_id
  6. QUEUED
  7. 127.0.0.1:6379> INCR user_id
  8. QUEUED
  9. 127.0.0.1:6379> INCR user_id
  10. QUEUED
  11. 127.0.0.1:6379> EXEC
  12. 1) (integer) 1
  13. 2) (integer) 2
  14. 3) (integer) 3
  15. 4) (integer) 4

MULTI

    ?MULTI :标记一个事务块的開始。

最后由EXEC原子性的运行。

    ?返回值:总是返回OK。

UNWATCH

    ?UNWATCH:取消命令对全部key的监视。假设在WATCH命令之后,EXEC或DISCARD命令被运行的话,就不须要运行UNWATCH命令。


  1. 127.0.0.1:6379> UNWATCH
  2. OK
WATCH

    ?WATCH [key .. ]:监视一个或者多个key。假设在运行事务前,这些key被打断,那么事务运行失败。

    ?返回值:ok    ?    ?


  1. 127.0.0.1:6379> WATCH lock lock_times
  2. OK
  3. 127.0.0.1:6379> MULTI
  4. OK
  5. 127.0.0.1:6379> SET lock a
  6. QUEUED
  7. 127.0.0.1:6379> INCR lock_times
  8. QUEUED
  9. 127.0.0.1:6379> EXEC
  10. 1) OK
  11. 2) (integer) 1

    ?

Redis命令学习-?Transaction(事务)