项目要求实现一个免费抢券的功能,涉及到高并发的问题,由于PHP是阻塞的单线程模型,不支持多线程,因此也没有Java那么好用的同步机制,我想到的办法就是在数据库级别做相应的同步互斥的控制,Mysql的锁机制我放在了Mysql数据库锁机制这篇博文当中。通过查看Mysql官方文档,我想到了两种解决方案:一、使用LOCK TABLE 或START TRANSACTION 写SQL 语句; 二、使用CREATE PROCEDURE 直接在数据库中创建存储过程....
                            
                            
                                分类:
数据库   时间:
2015-01-09 23:47:36   
                                阅读次数:
324
                             
                         
                    
                        
                            
                            
                                1. 事务处理和并发性1.1. 基础知识和相关概念1 )全部的表类型都可以使用锁,但是只有 InnoDB 和 BDB 才有内置的事务功能。2 )使用 begin 开始事务,使用 commit 结束事务,中间可以使用 rollback 回滚事务。3 )在默认情况下, InnoDB 表支持一致读。SQL...
                            
                            
                                分类:
数据库   时间:
2015-01-09 19:10:22   
                                阅读次数:
189
                             
                         
                    
                        
                            
                            
                                为了进行后台计算提供的完全隔离计算方式 不可访问 DOM APIs 不可访问 window object 不可访问 document object 强隔离保证并行计算结果无误(无锁机制)---- 启动 定义Worker对象 var w = new Worker("calc.js"); Worker会...
                            
                            
                                分类:
Web程序   时间:
2015-01-04 15:14:11   
                                阅读次数:
149
                             
                         
                    
                        
                            
                            
                                MySQL 各存储引擎使用了三种类型(级别)的锁定机制:行级锁定,页级锁定和表级锁定。● 行级锁定(row-level)行级锁定最大的特点就是锁定对象的颗粒度很小,也是目前各大数据库管理软件所实现的锁定颗粒度最小的。由于锁定颗粒度很小,所以发生锁定资源争用的概率也最小,能够给予应用程序尽可能大的并发...
                            
                            
                                分类:
数据库   时间:
2015-01-04 11:07:40   
                                阅读次数:
284
                             
                         
                    
                        
                            
                            
                                首先,所谓的缓存过期引起的“惊群”现象是指,在大并发情况下,我们通常会用缓存来给数据库分压,但是会有这么一种情况发生,那就是在一定时间内生成大量的缓存,然后当缓存到期之后又有大量的缓存失效,导致后端...
                            
                            
                                分类:
其他好文   时间:
2014-12-25 20:40:16   
                                阅读次数:
274
                             
                         
                    
                        
                            
                            
                                该模块在Python 3中更名为 _thread。 该模块实现对Python多线程的低层次操作原语,也提供了多线程之间用于同步的锁机制。threading模块基于本模块提供了更易用的高层次线程API。Windows、Linux、SGI IRIX、Solaris 2.x、和支持POSIXthre...
                            
                            
                                分类:
编程语言   时间:
2014-12-25 20:19:05   
                                阅读次数:
260
                             
                         
                    
                        
                            
                            
                                ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些...
                            
                            
                                分类:
其他好文   时间:
2014-12-21 13:50:41   
                                阅读次数:
281
                             
                         
                    
                        
                            
                            
                                锁是防止在两个事务操作同一个数据源(表或行)时交互破坏数据的一种机制。Oracle采用封锁技术保证并发操作的可串行性。Oracle的锁分为两大类:数据锁(也称DML锁)和字典锁。字典锁是Oracle DBMS内部用于对字典表...
                            
                            
                                分类:
数据库   时间:
2014-12-19 19:26:23   
                                阅读次数:
274
                             
                         
                    
                        
                            
                            
                                细聊MySQL的Innodb存储引擎(一)上一篇主要和大家探讨了下Innodb的锁机制与隔离机制。本篇来和大家一起研究下在使用Innodb是会出现的问题以及如何解决它们。Innodb是如何解决幻读问题的什么是幻读?听起来似乎很高端,但实际上它只是反映了事务中的一种数据不一致的情况。下面..
                            
                            
                                分类:
数据库   时间:
2014-12-19 19:20:11   
                                阅读次数:
240
                             
                         
                    
                        
                            
                            
                                本文由该问题引入到内核锁的讨论,归纳例如以下为什么须要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是能够訪问全部内核数据的,因此要对共享数据进行保护,即相互排斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v...
                            
                            
                                分类:
其他好文   时间:
2014-12-18 14:45:29   
                                阅读次数:
165