网页制作用什么软件比较好,益阳seo快速排名,网站每年的维护费,云羽网络网站建设大家好#xff0c;我是锋哥。今天分享关于【Java高频面试题#xff1a;Redis到底支不支持事务啊#xff1f;】面试题。希望对大家有帮助#xff1b;Java高频面试题#xff1a;Redis到底支不支持事务啊#xff1f;Redis 支持事务#xff0c;但它的事务实现方式与传统关系…大家好我是锋哥。今天分享关于【Java高频面试题Redis到底支不支持事务啊】面试题。希望对大家有帮助Java高频面试题Redis到底支不支持事务啊Redis 支持事务但它的事务实现方式与传统关系型数据库有所不同。Redis 使用的是MULTI、EXEC、WATCH这几个命令来实现事务。Redis 事务的特点原子性Redis 的事务是原子性的即事务中的所有命令要么全部执行要么一个都不执行。通过使用MULTI来标记事务开始后续的命令将不会立即执行而是被缓存。当调用EXEC时事务中的所有命令才会一次性执行。隔离性在事务开始后Redis 会缓存事务中的命令而不会中途执行。直到EXEC被调用时所有命令才会按顺序执行。不支持回滚Redis 事务一旦执行无法进行回滚。如果事务中的某个命令执行失败其他命令仍然会继续执行。也就是说Redis 事务并没有完全的错误回滚机制无法像传统数据库那样处理错误时回滚事务。相关命令MULTI标记一个事务的开始。EXEC提交事务执行事务中的命令。DISCARD放弃事务清空事务中的命令。WATCH监视一个或多个键在事务执行前如果这些键被其他命令修改事务会被中止。例子MULTI SET key1 value1 SET key2 value2 EXEC这个例子中SET命令会在EXEC被调用时才执行且在执行过程中是不可中断的。总之Redis 确实支持事务但它并不像传统数据库那样提供完整的事务特性主要是通过命令顺序执行的方式实现原子性缺少传统数据库的回滚机制。