Redis事务 示例

来源:互联网 发布:java中逻辑或 编辑:程序博客网 时间:2024/05/20 06:09
1.正常执行
MULTI
set k1 v1
set k2 v2
get k1
set k3 v3
EXEC


2.放弃事务
MULTI
set k1 v1
set k2 v2
set k3 v3
DISCARD


3.全体连坐
MULTI
set k1 v1
set k2 v2
set k3 v3
getset k3
set  k4 v4
set k5 v5
EXEC


ERROR,


4.冤有头
MULTI
incr k1
set k2 22
set k3 33
set k4 v4
get k4
EXEC


编译没错,执行错了


5.watch监控
a.表锁——并发性最差、一致性最好
b.行锁——
(1)悲观锁/乐观锁/CAS(Check And SET)、
乐观锁:将每行添加一个Version




set balance 100
set debt 0
WATCH balance
MULTI
decrby balance 20
incrby debt 20
EXEC


一旦执行unwatch和exec
之前加的所有监控锁都会被取消掉。

原创粉丝点击