#每天一个知识点# redis 中的事务和传统的关系型数据库的最大区别是:redis不支持回滚(rollback)。redis的事务队列中的某个命令在执行期间出现了错误,整个事务也会继续执行下去,直到所有的命令都执行完毕。
举例:假如 msg 是一个字符串键,对msg执行 RPUSH 列表键的命令。在命令入列时,redis并不能检查出错误,只有当队列 EXEC 执行到该命令时才会出错,此时事务会继续执行。
Redis的作者在事务功能的文档中解释说,不支持事务回滚是因为这种复杂的功能和Redis追求简单高效的设计主旨不相符,并且他认为,Redis事务的执行时错误通常都是编程错误产生的,这种错误通常只会出现在开发环境中,而很少会在实际的生产环境中出现,所以他认为没有必要为Redis开发事务回滚功能。[微笑]
展开
评论