redis 事务的操作

https://www.cnblogs.com/minejava/p/13921188.html

复制代码
Redis事务
multi:开始事务

exec:执行事务

discard:取消事务

watch:乐观锁,监视一个或多个key,如果事务执行之前这些key被其他线程所改动,那么事务里的命令会全部执行失败(返回nil)

unwatch:取消所有监视

注意:

若已经watch key 又手动取消了事务或者是事务执行失败,则自动unwatch。需要重新监视

不支持原子性操作,一条语句运行时错误不会导致其他语句失败

但是若是编译时出错则还是会导致全部语句执行失败

127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> set k3 v3
OK
127.0.0.1:6379> multi 
OK
127.0.0.1:6379> set k1 v4
QUEUED
127.0.0.1:6379> incr k2
QUEUED
127.0.0.1:6379> set k5 v5
QUEUED
127.0.0.1:6379> exec
1) OK
2) (error) ERR value is not an integer or out of range
3) OK
##########################################################################
127.0.0.1:6379> multi 
OK
127.0.0.1:6379> set k6 v6
QUEUED
127.0.0.1:6379> uzi k1 v1
(error) ERR unknown command `uzi`, with args beginning with: `k1`, `v1`, 
127.0.0.1:6379> get k2
QUEUED
127.0.0.1:6379> exec
(error) EXECABORT Transaction discarded because of previous errors.
复制代码

 

posted @   王越666  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示