一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得 ...
分类:
数据库 时间:
2017-06-12 17:07:16
阅读次数:
168
对于对象的同步、异步的方法,设计程序的时候一定要考虑问题的整体,出现数据不一致就是一个经典的错误。 1.demo 描述:set的方法加了 synchronized 关键字用到了同步,get方法获取没使用到 synchronized 关键字,最后到线程启动,线程一秒后,再次调用get方法,验证是否修可 ...
分类:
编程语言 时间:
2017-06-09 00:47:20
阅读次数:
173
之前用DataTable进行遍历,出现索引超出范围问题,因为List<T>也只支持单线程,改用
ConcurrentBag解决问题。在ParallelForEach/For外的变量要避免同时操作同一个变量造成
数据不一致的情况。
List<T>转为ConcurrentBag
ConcurrentBag<T>concT=newConcurrent..
分类:
编程语言 时间:
2017-06-08 18:00:13
阅读次数:
243
mysqldump 程序的实现原理是通过我们给的参数信息加上数据库中的系统表信息来一个表一个表获取数据然后生成 INSERT 语句再写入备份文件中的。这样就出现了一个问题,在系统正常运行过程中,很可能会不断有数据变更的请求正在执行,这样就可能造成在 mysqldump 备份出来的数据不一致。也就是说 ...
分类:
数据库 时间:
2017-06-02 22:57:59
阅读次数:
329
常用的master_log_file,master_log_pos复制方式,当主库宕机时会造成数据不一致问题;mariadb10.x默认就是支持GTID的复制方式1.不支持的参数gtid-mode=onenforce-gtid-consistency=true2.修改的参数slave-parallel-workers参数修改为slave-parallel-threads3.连接至主服务使用..
分类:
数据库 时间:
2017-05-27 23:56:16
阅读次数:
433
业务说,为什么10号机房缺少这条数据,其他机房却有?mysql>select*fromtbl_groupinfowheregid=xxxxxxxlimit10;
+------------+--------------+-------------+---------------------+------------+--------------+------------+-------------+-----------------+--------+--..
分类:
其他好文 时间:
2017-05-26 23:28:11
阅读次数:
296
业务说,为什么10号机房缺少这条数据,其他机房却有?mysql>select*fromtbl_groupinfowheregid=xxxxxxxlimit10;
+------------+--------------+-------------+---------------------+------------+--------------+------------+-------------+-----------------+--------+--..
分类:
其他好文 时间:
2017-05-26 23:16:07
阅读次数:
249
今天在Oracle的SQL plus 中执行了删除和查询操作,然后在PL/SQL中也执行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,但是为什么不一致呢,就是没用commit, 在网上查了一下,大概是这样说的: DML语言,比如update,delete, ...
分类:
数据库 时间:
2017-05-14 12:13:43
阅读次数:
266
初始线程:1.新建线程 1)继承Thread类 2)实现Runnable接口2.线程终止 除非你很清楚你在做什么,否则不要随便使用stop()方法来停止一个线程。因为stop()方法太过于暴力,强行把执行到一半的线程终止,可能会引起一些数据不一致的问题。 通过定义标记变量stopme,当stopme ...
分类:
编程语言 时间:
2017-05-14 00:54:19
阅读次数:
184
最近的项目中,因为涉及到Mysql数据中乐观锁和悲观锁的使用,所以结合项目和网上的知识点对乐观锁和悲观锁的知识进行总结。 悲观锁介绍 悲观锁是对数据被的修改持悲观态度(认为数据在被修改的时候一定会存在并发问题),因此在整个数据处理过程中将数据锁定。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据 ...
分类:
数据库 时间:
2017-05-13 16:05:53
阅读次数:
282