redis事务处理
来源:互联网 发布:直播平台软件开发 编辑:程序博客网 时间:2024/06/05 20:51
1、MULTI命令用于开启一个事务,它总是返回OK
MULTI执行之后,客户端可以继续向服务器发送任意多条命令,这些命令不会立即被执行,而是被放到一个队列中
2、EXEC命令被调用时,所有队列中的命令才会被执行
>multi
//OK
>incr foo
//QUEUED
>set t1 1
//QUEUED
>exec
//2
//OK
使用事务时可能会遇上以下两种错误:
1.事务在执行EXEC之前,入队的命令可能会出错,比如产生语法错误,内存不足。。。
2.命令可能在EXEC调用之后失败,比如事务中的命令可能处理了错误类型的键(列表命令用在了字符串键上面)
第一种错误的情况:
服务器端:
2.6.5以前,Redis只执行事务中那些入队成功的命令,而忽略那些入队失败的命令
2.6.5以后,服务器会对入队失败的情况进行记录,并在客户端调用EXEC命令时,拒绝执行并自动放弃这个事务
第二种错误:
即使事务中有某些命令在执行时产生了错误,事务中的其他命令仍然会继续执行
3、DISCARD
事务会被放弃,事务队列会被清空,并且客户端会从事务状态中退出
4、WATCH
可以为Redis事务提供CAS行为,被WATCH的键会被监视,并会发觉这些键是否被改动过。如果有至少一个被监视的键在EXEC执行之前被修改,那么整个事务都会被取消
0 0
- Redis事务处理
- redis事务处理
- redis事务处理
- redis事务处理
- Redis事务处理
- Redis事务处理
- redis事务处理
- redis事务处理
- Redis安全性和事务处理
- Redis的事务处理
- Redis 学习之事务处理
- redis的事务处理
- 【Redis系列】Redis的事务处理
- redis--事务处理与乐观锁
- redis (5).事务处理以及持久化
- 7.Redis事务处理(简单、乐观锁)
- Vertx的Redis Client进行事务处理
- Redis缓存技术学习系列之事务处理
- roi任意形状
- Java并发基础(二)-线程池基础
- Linux内核中ioremap映射的透彻理解
- Mysql支持中文
- C语言专题笔记——位操作
- redis事务处理
- 用两个栈实现队列
- python包安装:高效方法
- 树链剖分模版
- 设计模式-抽象工厂设计模式
- ArcEngine 总结(持续更新)
- hdu ---2001做题笔记(c++)
- 阶段笔记浅谈ContentProvider&ContentResolver&SQLite
- 【PC+PE】minecraft搭建服务器