wangdachui95345
2017-03-08 05:39
采纳率: 84.6%
浏览 5.2k

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢?
个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有
一个线程。客户端访问之间存在竞争,请问是这样的吗? 谢谢了。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • blownewbee 2017-03-08 08:20
    已采纳

    你说的对,因为存在多客户端并发,所以必须保证操作的原子性。比如银行卡扣款问题,获取余额,判断,扣款,写回就必须构成事务,否则就可能出错。

    点赞 打赏 评论
  • qq_26822041 2018-09-27 09:50

    大白话来说,因为客户端多线程操作,可能服务器的处理的顺序就会乱掉,并不是你想要的那种结果,所以需要锁。

    点赞 1 打赏 评论
  • oyljerry 2017-03-08 12:36

    那是redis里面只有单个命令是执行的。比如set,get。但如果你的命令希望把一组命令执行的结果作为整体。要么全部成功,要么失败。你就需要multi来执行事务

    点赞 打赏 评论

相关推荐 更多相似问题