redis事务
概述
redis中事务是一组命令的集合。事务同命令一样是redis的最小执行单位,一个事务中的命令要么都执行,要么都不执行。
事务的原理是先将属于一个事务的命令发送给redis,然后再让redis依次执行这些命令
redis保证一个事务中的所有命令要么都执行,要么都不执行。除此之外,redis的事务还能保证一个事务内的命令一次执行而不被其他命令插入。
使用
首先使用MULTI命令告诉redis:"下面我发给你的命令属于同一个事务,你先不要执行,而是把它们暂时存起来。"redis回答:"ok"
而后我们发送了两个SADD命令,redis返回QUEUED表示这两条命令已经进入等待执行的事务队列中了。
当把所有要在同一个事务中执行的命令都发给redis后,我们使用EXEC命令告诉redis将等待执行的事务队列中的所有命令按照发送顺序依次执行。EXEC命令的返回值就是这些命令的返回值组成的列表,返回值顺序和命令的顺序相同。
错误处理
-
语法错误。语法错误指命令不存在或者命令参数的个数不对。只要有一个命令有语法错误,执行EXEC命令后redis就会直接返回错误,连语法正确的命令也不会执行。
-
运行错误。运行错误指在命令执行时出现错误,比如使用散列类型的命令操作集合类型的键,这种错误在实际执行之前redis是无法发现的,所以在事务里这样的命令是会被reids接受并执行的。如果事务里一条命令出现了运行错误,事务里其他命令依然会继续执行
redis的事务没有关系数据库事务提供的回滚功能
标签:事务,错误,语法错误,redis,命令,执行 From: https://www.cnblogs.com/zpf253/p/17391623.html