Redis 事务
2019-02-09 本文已影响1人
黄靠谱
事务命令
事务命令:MULTI 、 EXEC 、 DISCARD 和 WATCH
- MULTI 命令用于开启一个事务,它总是返回 OK
- MULTI 执行之后, 客户端可以继续向服务器发送任意多条命令, 这些命令不会立即被执行, 而是被放到一个队列中
- 当 EXEC命令被调用时, 所有队列中的命令才会被执行。
- WATCH 带事务的修改数据,类似于volaile,如果price发生改动,则事务失效
- 通过调用 DISCARD , 客户端可以清空事务队列, 并放弃执行事务
Watch的使用
- Watch + MULTI = java 的CAS,可以替代 incr、decr 等原子操作,只不过开放了灵活性进来,给命令编程更灵活的操作空间。
- Watch并不保证该操作一定会操作成功,所以要check EXEC执行结果
3.使用无参数的 UNWATCH 命令可以手动取消对所有键的监视。
WATCH mykey
val = GET mykey
val = val + 1
MULTI
SET mykey $val
EXEC