| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> redis事务 -> 正文阅读 |
|
[大数据]redis事务 |
官方说法:MULTI、EXEC、DISCARD和WATCH是 Redis 中事务的基础。它们允许在一个步骤中执行一组命令,有两个重要的保证 1 事务中的所有命令都被序列化并按顺序执行。在Redis 事务的执行过程中服务于另一个客户端发出的请求永远不会发生。这保证了命令作为单个隔离操作执行 2?要么处理所有命令,要么不处理任何命令,因此 Redis 事务也是原子的。 用法:使用MULTI命令输入 Redis 事务。该命令始终以 回复 例: 从上面的会话中可以看出,EXEC返回一个回复数组,其中每个元素都是事务中单个命令的回复,与发出命令的顺序相同。 当 Redis 连接在MULTI请求的上下文中时,所有命令都将使用字符串 事务中的错误 1 一个命令可能无法排队,所以在调用EXEC之前可能会出错。例如,该命令可能在语法上是错误的(参数数量错误,命令名称错误,...),或者可能存在一些紧急情况,例如内存不足情况(如果使用该 2?命令可能在? 错误实例1? 错误实例2 ? 为什么 Redis 不支持回滚? 只有在使用错误的语法(并且在命令排队期间无法检测到问题)或针对持有错误数据类型的键调用时,Redis 命令才会失败:这意味着实际上失败的命令是编程错误的结果,以及一种在开发过程中很可能被检测到的错误,而不是在生产中 Redis 内部简化且速度更快,因为它不需要回滚的能力? 一句话总结:redis认为这些错误是程序员自己造成的且无法避免。(有点装x的感觉) 丢弃命令队列DISCARD可用于中止事务。在这种情况下,不执行任何命令 Watch 的事务WATCH用于为 Redis 事务提供检查和设置 (CAS) 行为
WATCH命令可以被调用多次。 对键的监视从 WATCH 执行之后开始生效, 直到调用 EXEC 为止 当?
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 13:22:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |