redis的key或者计数器有没有递减的功能?
ringa_lee
ringa_lee 2017-04-21 11:17:22
0
3
704

比如现在想实现类似一个秒杀的功能,10个用户抢2个商品,redis或者memcache或者其它的nosql产品,有没有类似的功能,就是我有个计数器(库存,比如等于2)然后,开始抢商品的时候,前2个用户,已经将库存减到0了,当第3个人来抢的时候,计数器不会变为-1,而是还是为0,并且这个操作会返回一个操作失败,或者类似于mysql的返回影响行数为0的这种反馈信息,让我知道的?

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
迷茫

reids 有DECR(原子递减),memcache也有decrement功能,他们的区别是,redis的原子递减到0了会变为负数,而memcache的会一直为0

小葫芦

没有。会变成-1,恐怕你要自行判断了。

伊谢尔伦

乐观锁 解决

不检查锁 直接通过 但是通过后核对版本号 正确不操作 否则回滚(需要事物支持)

有个问题就是 可能2,3次序的用户没抢到 4,5次序的抢到了(这种情况你写一个demo测试一下就清楚了)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!