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

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

3个回答

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

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

weixin_44440268
It’my life redis中的事务不是原子性的
一年多之前 回复

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问