Redis 事务
来源:互联网 发布:魔兽数据库7.0手机 编辑:程序博客网 时间:2024/06/07 02:20
事务
Redis中的事务(transaction)是一组命令的集合。事务的原理是先将属于一个事务的命令发送给Redis,然后再让Redis以此执行这些命令。
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SADD “user:1:following” 2
QUEUED
127.0.0.1:6379> SADD “user:2:followers” 1
QUEUED
127.0.0.1:6379> EXEC
1) (integer) 1
2) (integer) 1
127.0.0.1:6379>
MULTI
标记一个事务块的开始,事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
错误处理
如果一个事务中的某个命令执行出错。
(1) 语法错误
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SET key value
QUEUED
127.0.0.1:6379> set key
(error) ERR wrong number of arguments for ‘set’ command
127.0.0.1:6379> ERRORCOMMAND key
(error) ERR unknown command ‘ERRORCOMMAND’
127.0.0.1:6379> EXEC
(error) EXECABORT Transaction discarded because of previous errors.
127.0.0.1:6379>
(2) 运行错误,运行错误指在命令执行时出现的错误
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SET key 1
QUEUED
127.0.0.1:6379> SADD key 2
QUEUED
127.0.0.1:6379> SET key 3
QUEUED
127.0.0.1:6379> EXEC
1) OK
2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
3) OK
127.0.0.1:6379>
127.0.0.1:6379> GET key
“3”
127.0.0.1:6379>
可见虽然SADD key 2 出现了错误,但是SET key 3 依然执行了。
Redis的事务没有关系数据库事务提供的回滚(rollback)功能。为此开发者必须在事务执行出错后自己收拾剩下的摊子(将数据库复原回事务执行前的状态等).
- Redis 事务
- redis事务
- Redis 事务
- redis--事务
- redis事务
- redis事务
- Redis事务
- redis 事务
- Redis事务
- Redis事务
- Redis 事务
- Redis 事务
- redis事务
- Redis 事务
- Redis 事务
- redis 事务
- redis事务
- Redis 事务
- redis安装、设置密码及开机自启动
- 爬取豆瓣图片链接(Java)
- jsp中redirect和forward的区别
- javascript自执行函数
- SpringMVC注解
- Redis 事务
- Handler源码解析
- 百度地图marker
- Ubuntu中Mysql中文存储乱码设置问题
- 属性动画Demo
- POJ2404:Jogging Trails
- Android透明度换算
- php面向接口编程
- Spring的FactoryBean的基本认识