码迷,mamicode.com
首页 > 其他好文 > 详细

现实库存处理记录

时间:2015-05-16 11:56:46      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

  现今我们系统库存以sku为单位,每个sku都有对应库存。

  库存信息我们会记录在一个数据库表中,为了性能每次上线我们会将这个数据库表中的库存放入内存中。

  需要保证多个用户同时操作内存库存时的线程安全性,这边我们是通过调用tair的incr和desc命令保证库存增减是串形的。

   但是有一种可能:

    内存库存为1件,2个用户同时购买,第一个用户减完后库存为0,第二个用户为-1。这时如果不做处理就会产生超卖,我们这边会判断如果用户在操作库存时,发现减后的库存量是-1这时我们会加回去,并返回「库存不足」给用户。

  最坏的可能性如果是tair挂了,导致所有内存库存不可用,这时我们会用一个库存同步job为同步库存。

现实库存处理记录

标签:

原文地址:http://blog.csdn.net/zhaozhenzuo/article/details/45766893

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!