简单地缓存系统:当有线程来取数据时,如果该数据存在我的内存中,我就返回数据;如果不存在我的缓存系统中,那么就去查数据库,返回数据的同时保存在我的缓存中。
其中涉及到读写问题:当多个线程执行读操作时(都加读锁),如果有数据返回;如果没有数据时,则让第一个读的线程,进行获取数据,然后进行写操作,这时需要第一个线程先释放掉读锁然后加写锁。第一个写完后,在家读锁,其他线程使用时判断,如果存在该数据,在直...
分类:
编程语言 时间:
2014-11-09 11:21:02
阅读次数:
266
读写锁是数据库中很常见的锁,又叫共享-排他锁,S锁和X锁。读写锁在大量读少量写的情况下有很高的效率优势。
读写锁是基于普通的互斥锁构建出来的更复杂的锁,它有两个基本特点:
1. 当任一线程持有读锁或写锁时,不允许其他线程再持有写锁
2. 当任一线程持有写锁时,不允许其他线程再持有读锁
也就是说,写锁是排他的,只要有一个线程持有写锁,就不允许其他线程再上锁。读锁是共享的,可以有多个线...
分类:
其他好文 时间:
2014-11-03 13:08:32
阅读次数:
256
1 一个资源同时可以有多个读写,但是只能有一个写锁2 用flag代表锁的状态,#define un_lock 0#define r_lock1 //上一把读锁加一个r_lock#define w_lock -1伪代码1 LOCK_Rpthread_lock(resource.mutex)while(...
分类:
其他好文 时间:
2014-10-19 12:51:23
阅读次数:
150
第一章节:共享锁(读锁),排他锁(写锁)查询数据表所使用的存储引擎:show table status like '表名' \G转换数据表的存储引擎:alter table 表名 engine=引擎名称as:alter table mytable engine=Innodb;---------第三章...
分类:
数据库 时间:
2014-09-21 03:37:39
阅读次数:
250
数据库连接突然增多到1000的问题查看了一下,未有LOCK操作语句。但是明显有好多copy to tmp table的SQL语句,这条语读的时间比较长,且这个表会被加读锁,相关表的update语句会被排进队列。如果多执行几次这样的copyt to tmp table 语句,会造成更多的语句被阻塞。连...
分类:
数据库 时间:
2014-09-02 01:30:03
阅读次数:
305
读写锁的概念很简单,允许多个线程同时获取读锁,但同一时间只允许一个线程获得写锁,因此也称作共享-独占锁。在C#中,推荐使用ReaderWriterLockSlim类来完成读写锁的功能。某些场合下,对一个对象的读取次数远远大于修改次数,如果只是简单的用lock方式加锁,则会影响读取的效..
分类:
其他好文 时间:
2014-08-05 03:14:39
阅读次数:
271
备份方式:热备:不中断服务温备:备份过程中不可写,要加读锁冷备:需要停掉服务备份策略一:mysqldump+binlog完全备份+增量,用mysqldump定期全备,每天(根据实际情况来)备份二进制日志.mysqldump类似于一个mysql的客户端,所以用mysqldump备份时,mysql服务要启动起来,常..
分类:
数据库 时间:
2014-07-29 18:22:42
阅读次数:
375
读写锁索引:初始化一个读写锁pthread_rwlock_init读锁定读写锁 pthread_rwlock_rdlock非阻塞读锁定 pthread_rwlock_tryrdlock写锁定读写锁 pthread_rwlock_wrlock非阻塞写锁定 pthread_rwlock_t...
分类:
其他好文 时间:
2014-07-29 17:11:12
阅读次数:
207
flush的常规用法:flushlogs:刷新二进制日志文件flushPRIVILEGES:刷新权限,修改权限或密码后,需要使用到该命令flushtables:关闭所有表,并清空缓存中的类容。flushtableswithreadlock:关闭所有打开的表,并且对所有DB中的表添加一个读锁,直到显示执行unlocktables。该命令..
分类:
其他好文 时间:
2014-07-29 15:50:04
阅读次数:
190
Condition接口应用场景:一个线程因为某个condition不满足被挂起,直到该Condition被满足了。类似与Object的wait/notify,因此Condition对象应该是被多线程共享的,需要使用锁保护其状态的一致性示例代码:class BoundedBuffer { fi...
分类:
编程语言 时间:
2014-07-16 21:41:15
阅读次数:
252