2 cpk1ng cpk1ng 于 2016.04.15 16:44 提问

求 有关 高并发 数据区 读取更新 数据 的解决办法 10C

问题:高并发 数据库取数据,每次取到一条数据后更新这条数据的状态为已取用过。
环境:3台服务器跑应用 处理请求,多线程数据库取数据

有点类似 12306的买票,查找过资料 有看到 1W人 同时抢一张票的问题。

现在考虑的问题是,如果票是足够多的,如何解决高并发取数据冲突的问题,如果用加锁的方式,会出现大量请求都取一条数据,导致 等待时间太长。

有没有 好的方案,可以避免同时请求到同一条数据。

2个回答

devmiao
devmiao   Ds   Rxr 2016.04.15 16:51

可以用大数据分布式云计算物联网等

xiaoyao880609
xiaoyao880609   2016.04.15 16:49

可以尝试用乐观锁机制解决。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
大数据量下高并发同步的讲解(高并发的瓶颈-需要处理的内容)
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。    为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步    1、同步和异步的区别和联系          所谓同步,可以理解为在执行完一个函数或
汇编程序:多数绝对值和
【任务】在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。data segment buf1 dw -56, 24, 54, -1, 89, -8, 87, -32, 23, 45 buf2 dw 45, -23, 124, 345, -265, -214, 0, 48, -10, -12
BIOS 数据区说明
 段地址:00H 偏移类型内      容0000H256双字中断向量表。0300H256字节在自检和引导时作为缓冲区使用。400H字计算机上0号RS232-1适配器的基地址,通常为3F8H。402H字计算机上1号RS232-1适配器的基地址,通常为2F8H。404H字计算机上2号RS232-1适配器的基地址。406H字计算机上3号RS232-1适配器的基地址。408H字计算机上0号并行打印机适配
MySQL高并发下读取脏数据问题的解决方案
MySQL 在遇到高并发读写的情况下会读到脏数据,如何理解?举一个简单的栗子: 用户A、用户B、用户C 抢购一件商品,每人限购一件,商品库存为10,假如 A、B、C 并发情况下则同时得到 库存为 10,同时对库存10进行操作,看下相关示意图: 用户A 操作: 库存 10 -1 =9,对应的 SQL: update table set goods_number=goods_
并发条件下,数据更新丢失解析
某天小美收到配送员投诉电话:我的配送费打少了!我今天配送了10单,每单10元,却只给我打了80元!单笔配送费的计算过程是这样的:每个配送员对应一个账户,此有账户“id”和余额“balance”两个属性。当配送员完成一单配送时,此账户的余额=当前余额+此单配送费。(具体的数据更新过程见图1)整个计算过程是在一个事务里,过程简单明了,为什么会出现配送费计算出错的问题呢?图2是并发场景,并发事务1的结果
应用和系统开发过程中,高并发的访问对同一数据的不一致,读脏数据的处理办法
1.什么是并发操作?
mysql处理高并发-保证数据准确性
问题描述: 压力高并发情况下  执行update方法 得到结果非预期结果   例如: 多个线程执行 充值金额方法          1、先查询出目前金额信息a          2、将充值的金额组装a(原金额+充值金额=新金额)          3、更新金额(执行update方法) 问题: 多并发的情况下, 会是多个线程同时读取到目前金额a ,  之后 多个线
高并发下缓存和数据库一致性问题(更新淘汰缓存不得不注意的细节)
 缓存和数据库一致性问题本文讨论的背景是,cache如memcache,redia等缓存来缓存数据库读取出来的数据,以提高读性能,如何处理缓存里的数据和数据库数据的一致性是本文讨论的内容:正常的缓存步骤是:1查询缓存数据是否存在,2不存在即查询数据库,3将数据添加到缓存同时返回结果,4下一次访问发现缓存存在即直接返回缓存数据。那么当更新数据库数据的时候,该如果更新缓存呢,至少要考虑尽量短时间的一致...
Java内存管理:Java内存区域 JVM运行时数据区
Java内存管理:在前面的一些文章了解到javac编译的大体过程、Class文件结构、以及JVM字节码指令,下面我们详细了解Java内存区域:先说明JVM规范定义的JVM运行时分配的数据区有哪些,然后分别介绍它们的特点,并指出给出一些HotSpot虚拟机实现的不同点和调整参数。
新手学汇编 求一汇编程序 想帮我的请进
有一计算机交通监视系统记录一次交通调查,每通过一辆机动车记录一个字符“V”,每通过一辆自行车记录一个字符“B”,每隔10分钟记录一个字符“T”,记录好的信息已存放在以BUFFER为首址的缓冲区(如图)中,现在需要统计从第一个字符“T”开始连续10分钟里所通过的自行车和机动车的数目,并在显示器上显示出来,其显示格式要求为:        AMOUNT    OF      VEHICLES;X