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

    ​
原文地址:https://www.cnblogs.com/llguanli/p/7077567.html