mysql分布式锁的坑—— 墨菲定律:有可能出错的事情,终将出错
用mysql唯一key做分布式锁, 虽然简单, 但坑太多, 来看看: 1. 在高并发场景下, 用mysql做分布式锁, 简直是想找死。 这种问题, 不要选mysql分布式锁, 别作死。 2. 业务准备释放锁的时候, 进程被正常重启了, 或者异常崩溃了,或者掉电了, 锁永远无法释放。 这个坑, 踩过。 四个人, 通宵修数据, 呵呵哒。 墨菲定律告诉我们:有可能出错的事情,终将出错。 这种问题…
用mysql唯一key做分布式锁, 虽然简单, 但坑太多, 来看看: 1. 在高并发场景下, 用mysql做分布式锁, 简直是想找死。 这种问题, 不要选mysql分布式锁, 别作死。 2. 业务准备释放锁的时候, 进程被正常重启了, 或者异常崩溃了,或者掉电了, 锁永远无法释放。 这个坑, 踩过。 四个人, 通宵修数据, 呵呵哒。 墨菲定律告诉我们:有可能出错的事情,终将出错。 这种问题…
SQL语句优化是建立在慢查询分析的基础上,通过慢查询定位有问题的SQL语句,关于慢查询的介绍及其分析工具,可以参考[mysql慢查询及慢查询日志分析工具] 一、通过explain查询 1 用法:explain sql 2 作用:用于分析sql语句 (1)、id:执行explain的一个编号(没有实际意义)(2)、table:查询的表名(3)、select_type:查询类型,是单表查询、联合查询还…
异常 org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manua…
1.mysql加减乘除操作:mysql> select score,score+5,score-5,score*5,score/5 from 4a; +-------+---------+---------+---------+---------+ | score | score+5 | score-5 | score*5 | score/5 | +-------+---------+---…
目录 按关键字排序 order by 与 desc/asc distinct 查询不重复记录** limit 限制结果条目 as 设置别名 连接语句 子查询 NULL 通配符 按关键字排序 order by 与 desc/asc desc:倒叙 asc:正序 (默认) 按成绩倒叙排序 按成绩正序排序 配合where 排序 AND/OR查找 distinct 查询不重复记录** limit 限制结果…
查了两天终于把问题解决了, eclipse和mysql都设置成了utf8编码,可是保存时中文依然是乱码。(mysql编码修改时直接修改my.ini文件,若遇到不允许修改,则拷贝到其他路径,修改后再考回来即可) 原来jdbc在建立数据库连接时也需要指定一下编码,否则即使数据库设置了utf8编码也不好使。 就是这里 // URL指向要访问的数据库名emrs private static String …
备份文件 备份 pertcona-xtrabackup 完整备份 增量备份 Mysqldump与binlog 备份 备份原因:容易丢、误删 备份目标:数据的一致性、服务的可用性 备份技术 物理备份(冷备份) 直接复制数据库文件,使用于大型数据库环境,不受存储引擎的限制,但不能恢复到不同的MySQL版本。 Tar,cp,scp 解压 拷贝 远程拷贝 拷贝数据, 优点:快、 缺点:服务停止 逻辑备份(…
随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能。程序员们开始大量的使用缓存技术来缓解数据库的压力,优化数据库的结构和索引。开始比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增大的时候,多台web机器通过文件缓存不能共享,大量的小文件缓存也带了了比较高的IO压力。在这个时候,Memcached就自然的成…
一、理想型的数据库应该具备的特点 1.强一致性和高可用; 2.高吞吐、高并发、低延迟; 3.标准SQL、支持 ACID 事务; 4.大数据生态友好; 5.有水平扩张能力,并且尽量做到不侵入业务; 二、数据库架构选型 三、TiDB与MySQL对比 四、TiDB 和 MySQL 兼容策略 可参考: https://docs.pingcap.com/zh/tidb/stabl…
1. Mysql查完数据,再同步写入到Redis中 缺点1:会对接口造成延迟,因为同步写入redis本身就有延迟,并且还要做重试,如果redis写入失败,还需要重试,那就更费时间了。 缺点2:不解耦,如果redis崩了,那直接卡线程了 缺点3:如果人为该数据库,那就没法同步了, 除非再人为删除对应的Redis,但删除Redis这个过程也有个时间差 2. Mysql查完数据,通过发送MQ,在消费者线…