84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
比如现在想实现类似一个秒杀的功能,10个用户抢2个商品,redis或者memcache或者其它的nosql产品,有没有类似的功能,就是我有个计数器(库存,比如等于2)然后,开始抢商品的时候,前2个用户,已经将库存减到0了,当第3个人来抢的时候,计数器不会变为-1,而是还是为0,并且这个操作会返回一个操作失败,或者类似于mysql的返回影响行数为0的这种反馈信息,让我知道的?
ringa_lee
reids 有DECR(原子递减),memcache也有decrement功能,他们的区别是,redis的原子递减到0了会变为负数,而memcache的会一直为0
没有。会变成-1,恐怕你要自行判断了。
乐观锁 解决
不检查锁 直接通过 但是通过后核对版本号 正确不操作 否则回滚(需要事物支持)
有个问题就是 可能2,3次序的用户没抢到 4,5次序的抢到了(这种情况你写一个demo测试一下就清楚了)
reids 有DECR(原子递减),memcache也有decrement功能,他们的区别是,redis的原子递减到0了会变为负数,而memcache的会一直为0
没有。会变成-1,恐怕你要自行判断了。
乐观锁 解决
不检查锁 直接通过 但是通过后核对版本号 正确不操作 否则回滚(需要事物支持)
有个问题就是 可能2,3次序的用户没抢到 4,5次序的抢到了(这种情况你写一个demo测试一下就清楚了)