可以在数据库层控制,则需要设置事务的隔离级别,已更新但未提交的数据不能读。
如果在中间层控制,可以用锁机制,锁的存储可以用缓存,可用单机缓存,单机缓存可以用dictionary结合静态变量自己实现,自己控制并发。也可以用分布式缓存产品实现,如memcached
做库存占用处理,把库存分成几个类别,如可用库存,订单库存等情况,对于未出库但是已下单的就是订单占用库存。
楼主这个问题可以说是比较常见的一个问题,用锁解决,乐观锁 悲观锁 。