1.悲观锁 for update 确定 系统用的人越多,系统会越卡,而且很容易造成数据库死锁
2.乐观锁 事务+状态判断(一旦数据进入了你的事务,那么就相当于数据进入了你的保护区在事务提交之前,任何人都不能对其进行修改,都得排队等待你的事务提交完成。如果在事务里面判断出数据的状态发生了改变,即在进入事务之前数据被人更改,及并发,这时我们便放弃操作,这样就很容易的避免了并发引起的数据...
分类:
其他好文 时间:
2014-11-28 08:44:17
阅读次数:
178
锁( locking )
业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算
处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中
(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机
制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓
的 ...
分类:
其他好文 时间:
2014-11-19 22:18:31
阅读次数:
272
转:http://blog.csdn.net/sdyy321/article/details/61834121、悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程 中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库...
分类:
其他好文 时间:
2014-11-11 19:06:10
阅读次数:
263
链接:http://www.csdn.net/article/2012-12-12/2812708-leguansuo-beiguansuo-couchbase:云计算对数据库的并发访问一直是应用程序开发者需要面对的问题之一,一个好的解 决方案不仅可以提供高的可靠性还能给应用程序的性能带来提升。下面...
分类:
其他好文 时间:
2014-11-11 18:18:11
阅读次数:
254
Hibernate谈到悲观锁、乐观锁,就要谈到数据库的并发问题,数据库的隔离级别越高它的并发性就越差 并发性:当前系统进行了序列化后,当前读取数据后,别人查询不了,看不了。称为并发性不好 数据库隔离级别:见前面章级025-1悲观锁:悲观锁:具有排他性(我锁住当前数据后,别人看到不此数据)悲观锁一般由...
分类:
Web程序 时间:
2014-11-07 11:11:35
阅读次数:
327
在聊聊高并发(十一)实现几种自旋锁(五)中使用了java.util.concurrent.atomic.AtomicStampedReference原子变量指向工作队列的队尾,为何使用AtomicStampedReference原子变量而不是使用AtomicReference是因为这个实现中等待队列的同一个节点具备不同的状态,而同一个节点会多次进出工作队列,这就有可能出现出现ABA问题。...
分类:
编程语言 时间:
2014-10-30 15:29:14
阅读次数:
245
背景介绍redis数据库提供了一些管理功能比如流水线:打包发送多条命令,并在一个回复里面接收所有被执行命令的结果。事务:一次执行多条命令,被执行的命令要么就全部都被执行,要么就一个也不执行。并且事务执行过程中不会被其他工作打断。乐观锁:监视特定的键,防止事务出现竞争条件。虽然这些附加功能都非常有用,...
分类:
其他好文 时间:
2014-10-28 19:46:55
阅读次数:
172
性能优化
在大数据量遍历时(例如查找消息敏感词),需要手动使用clear方法释放缓存中的数据,防止缓存中数据过多浪费内存。1+N问题:将Fetch设为LAZY可以在需要时才发出sql语句,或者设置BatchSize指定一条sql语句查询多个对象。list方法会把所有对象都取出,而iterate方法会先取出所有对象的主键,需要时再根据主键取出对象。另外iterate会查询二级缓存,list...
分类:
编程语言 时间:
2014-10-13 14:23:19
阅读次数:
225
1 d_user = D('User');10 $this->user = M('user');11 12 //打款的配置信息13 $this->arr = array(14 'userA' => 1,15 ...
分类:
Web程序 时间:
2014-10-11 01:06:04
阅读次数:
389