并发问题 关于Redis

并发问题 关于Redis

【吐槽】Jimesembria
付费请人解这个BUG , 有没有php同学有兴趣,(问题原因是理论上是5分钟内不生产同样金额的订单, 但是由于并发原因没控制好)
10:34:02
【话唠】ˇmonster-福 2018/8/28 10:34:02

昨晚帮你分析了,用redis是最好的。。
【活跃】Mcode 2018/8/28 10:34:12

我刚刚想说的@ˇmonster-福州
【活跃】Mcode 2018/8/28 10:34:22

用redis

Jimesembria撤回了一条消息
10:35:15
【传说】小林-厦 2018/8/28 10:35:15

设备?
【吐槽】Jimesembri 2018/8/28 10:35:21

【吐槽】Jimesembri 2018/8/28 10:35:37

php没有这种限流算法吗?
【吐槽】Jimesembri 2018/8/28 10:37:08

@小林-厦门 要多管理个应用。
【话唠】ˇmonster-福 2018/8/28 10:37:09

限流算法肯定是可以的,但是你怎么保证一个令牌不会同时被两个人查走?
10:37:33
【话唠】ˇmonster-福 2018/8/28 10:37:33

最终还是要用redis,队列之类的来保证原子操作
【吐槽】Jimesembri 2018/8/28 10:37:34

所以就需要CAS做并发控制。
【话唠】ˇmonster-福 2018/8/28 10:38:12

cas不是做单点登录的么
【吐槽】Jimesembri 2018/8/28 10:38:47

CAS Compare And Swap
【吐槽】Jimesembri 2018/8/28 10:39:09

有点类似于乐观锁
10:39:39
【吐槽】Jimesembri 2018/8/28 10:39:39

CAS就是一直尝试, 比较是不是期望的值, 然后再替换。
【话唠】ˇmonster-福 2018/8/28 10:39:48

既然你有思路了,那就去实现吧
【吐槽】Jimesembri 2018/8/28 10:40:15

不懂php 所以需要咨询下php有没有这种实现方式。

Jimesembria撤回了一条消息
【吐槽】Jimesembri 2018/8/28 10:41:18

php有没有办法多个并发公用一段内存空间?
【话唠】ˇmonster-福 2018/8/28 10:41:37

用。有扩展
10:41:50
【潜水】Y 2018/8/28 10:41:50

php队列实现的不好,所以一般这东西都习惯用redis来控制,能做到先入先出的原则,保持一致性
【吐槽】Jimesembri 2018/8/28 10:42:13

用redis确实是可以实现这个功能的。
【话唠】ˇmonster-福 2018/8/28 10:42:51

shmop 共享内存扩展。。用起来更麻烦。还是redis最方便也最好用。
【吐槽】Jimesembri 2018/8/28 10:43:08

好吧。 如果实在不行就只能用redis了。
【吐槽】Jimesembri 2018/8/28 10:43:30

@ˇmonster-福州 谢谢了。
【潜水】Y 2018/8/28 10:43:36

不是实在不行用redis,而是用别的不一定比redis更好

原文地址:https://www.cnblogs.com/F4NNIU/p/9548412.html