Redis事务使用方法
2017-02-14 18:08
387 查看
Redis事务
Redis事务是一组命令的集合,也是Redis的最小执行单位之一。一个事务的所有命令,要么都执行,要么都不执行。Redis能保证事务执行期间不会有其他命令插入。
相关命令
命令 | 格式 | 说明 |
DISCARD | DISCARD | 取消事务 |
EXEC | EXEC | 执行事务中的命令 |
MULTI | MULTI | 标记一个事务的开始 |
UNWATCH | UNWATCH | 取消对key的监视 |
WATCH | WATCH key [key ...] | 监视一个或多个key |
执行MULTI后,在EXEC或DISCARD之前发送的所有命令都会被Redis按顺序缓存起来,并返回QUEUED。执行EXEC后,Redis取出缓存的命令开始执行,并返回每一条命令的返回值。
使用WATCH监控的key如果发生了变化,事务将被打断。在EXEC或DISCARD执行后,WATCH监控自动失效,否则使用UNWATCH取消监控。
注意:
①执行MULTI后不能再执行WATCH,否则返回错误“WATCH inside MULTI is not allowed”;
②如果命令有语法错误Redis会报错,但是运行时出现的错误会被Redis忽略不影响后面的执行,需要自己确保不出现运行时错误;
使用方法
1、事务正常执行192.168.1.100:6379> multi
OK
192.168.1.100:6379> set testkey 1
QUEUED
192.168.1.100:6379> incr testkey
QUEUED
192.168.1.100:6379> get testkey
QUEUED
192.168.1.100:6379> exec
1) OK
2) (integer) 2
3) "2"
2、WATCH监控的key变化,事务被打断
192.168.1.100:6379> watch testkey
OK
192.168.1.100:6379> multi
OK
192.168.1.100:6379> set testkey 1
QUEUED
# 此时另一个客户端执行 set testkey 2 改变了testkey的值
192.168.1.100:6379> exec
(nil)
原文地址:http://caiguoqing.org/post/111
相关文章推荐
- Redis 基础教程之事务的使用方法
- Redis事务使用方法
- RedisTemplate 事务处理方法 watch multi exec 的使用
- SQL 事务(Transaction) 简单的使用方法
- Sql Server数据库事务介绍Sql语句,SqlTransaction和TransactionScope的使用方法
- 数据访问函数库的使用方法(二)—— 获取记录集和使用事务的方法
- 在Hibernate中分别使用JDBC和JTA事务的方法
- 存储过程中事务的使用方法
- [原创]C#中使用ADO.NET连接SQL Server数据库,自动增长字段用作主键,处理事务时的基本方法
- Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法 (转载)
- C# 使用DataSet+dataAdapter操作后台数据库之事务处理方法1,欢迎拍砖
- Sql Server数据库事务介绍(二)---Sql语句,SqlTransaction和TransactionScope的使用方法
- DotNet使用事务的方法
- phpredis使用方法
- spring 事务管理 2(spring的事务方法镶嵌使用,事务边界和传播性)没完
- 程序使用事务操作oracle多表的方法案例
- Dotnet 使用数据库事务的方法
- WebService(3)事务处理使用方法
- 详细介绍SQL2005及2008中事务SqlTransaction和TransactionScope使用方法[转]
- php-redis客户端使用方法