首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >redis中的流水线vs事务

redis中的流水线vs事务
EN

Stack Overflow用户
提问于 2015-03-29 17:29:08
回答 1查看 27.7K关注 0票数 60

当我们在Redis中使用事务时,它基本上将事务中的所有命令流水线。当EXEC被触发时,所有命令一起执行,从而始终保持多个命令的原子性。

这不是和流水线是一样的吗?

流水线和事务有什么不同?另外,为什么Redis的单线程特性还不够呢?为什么我们明确地需要流水线/事务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-30 10:08:52

流水线操作主要是网络优化。它本质上意味着客户端缓冲了一堆命令,并一次性地将它们发送到服务器。不能保证在事务中执行这些命令。这里的好处是节省了每个命令的网络往返时间。

Redis是单线程的,因此单个命令始终是原子的,但来自不同客户端的两个给定命令可以按顺序执行,例如在它们之间交替执行。

但是,Multi/exec可确保没有其他客户端在multi/exec序列中的命令之间执行命令。

票数 88
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29327544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档