数据库加锁操作
因为在实际项目中,会有大量的用户链接数据库并请求各种操作,此时我们就需要对各个请求创建线程进行处理,这时候问题就来了,当大家的请求都涉及到写数据库时候,怎么办?这个时候就要用到数据库的加锁了。具体数据库的加锁知识大家可以百度之,不过这里不需要太多高深的加锁知识,只需要一点就是写锁
写锁是神马捏?具体来说就是一种排他锁,当写的时候不允许其他程序写,这样就可以保证数据一致性了。OK了,这就够了,在程序中怎样对数据库进行加锁呢?
数据库的加锁是在我们写数据库的时候进行的,当然现在很多数据库都自己带了枷锁机制,但是当我们具有大量并发的时候还是自己写着比较好
C#对MySQL进行操作上一篇已经说了,这里直接进行说明怎样进行加锁
代码如下:
string lockDB = "LOCK TABLE t_userinfo WRITE"; MySQLCommand sqlcmd = new MySQLCommand(lockDB, conn); sqlcmd.ExecuteReaderEx(); string cmd = "update t_userinfo set F_State = 0 where F_Name= ‘" + name + "‘"; sqlcmd = new MySQLCommand(cmd, conn); sqlcmd.ExecuteReaderEx(); string UnlockDB = "UNLOCK TABLES"; sqlcmd = new MySQLCommand(UnlockDB, conn); sqlcmd.ExecuteReaderEx();
注意的是,当加锁完成后一定要解锁啊
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。