摘要: 一、简介 ehcache是一个比较成熟的java缓存框架,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。 ehcache最早从hibernate发展而来。由于3.x的版本和2.x的版本API差异比较大。这里直接学习最新版本的了,但是最后整合spring的时候还是有2 阅读全文
posted @ 2019-07-30 17:23 tt&yy 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一、背景 在互联网项目中往往存在大数据量的需求,比如一些商品抢购的场景,或是访问量瞬间较大的时候,一瞬间成千上万的请求就会到来,比如在双十一活动。 当数据量的总大小一个机器放不下时;数据索引一个机器的内存放不下时;访问量(读写混合)一个实例放不下时。 (1)单机模式: app——>dao——>mys 阅读全文
posted @ 2019-07-30 16:31 tt&yy 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 一、delete后的表文件大小 在 InnoDB 中,delete 操作,并不会真的把数据删除,mysql 实际上只是给删除的数据打了个标记,标记为删除,因此你使用 delete 删除表中的数据,表文件在磁盘上所占空间不会变小。 1、命令查看表文件所占空间大小 use information_sch 阅读全文
posted @ 2019-07-04 16:37 tt&yy 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 一、整体思路 MYSQL优化首先应该定位问题,可能导致MYSQL低性能的原因有:业务逻辑过多的查询、表结构不合理、sql语句优化以及硬件优化,从优化效果来看,这四个优化点的优化效果依次降低:理清业务逻辑能够帮助我们避免不必要的查询,合理设计表结构也能帮助我们少查询数据库。 二、定位慢查询 1、定位慢 阅读全文
posted @ 2019-07-03 16:19 tt&yy 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 一、EXPLAIN语法 语法:EXPLAIN SELECT 1、EXPLAIN EXTENDED SELECT 将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2、EXPLAIN PARTITIONS SELECT 用于分区表的EXP 阅读全文
posted @ 2019-06-14 10:37 tt&yy 阅读(14168) 评论(0) 推荐(0) 编辑
摘要: 一、什么是索引 索引用于快速找出在某个列中有一特定值的行。无索引的表,查询时,是按照顺序存储的方法扫描每个记录来查找符合条件的记录。不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去 阅读全文
posted @ 2019-06-04 17:17 tt&yy 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL逻辑架构 1、MySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。 2、MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(比如:时间、数学、加密等函数)。所有的跨存储引擎的功能也在这 阅读全文
posted @ 2019-06-03 10:34 tt&yy 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 一、批量插入sql语句(合并数据)能够提高程序的插入效率。主要原因是合并后日志量(MySQL的binlog和innodb的事务)减少了,降低日志刷盘的数据量和频率,从而提高效率。通过合并SQL语句,同时也能减少SQL语句解析的次数,减少网络传输的IO。二、在事务中进行插入处理(前提是数据库是基于In 阅读全文
posted @ 2019-05-31 14:23 tt&yy 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 一、程序员的层次划分(本文只针对学习源码部分) 1、只关注项目本身,不懂就baidu一下。 2、除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia。 3、找一些开源项目看看,大量试用第三方框架,还会写写demo。 (要解决什么问题?如何实现的?) 最适合看源码的就是,你对完成一个功能感 阅读全文
posted @ 2019-05-18 11:08 tt&yy 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 一、背景 1、系统在运行的时候可能会有下面这些种类的错误/失败发生: (1) 依赖组件挂了,可能是 db,可能是 mq,可能是 cache。 (2)依赖服务挂了,可能是别人给你提供的 http/rpc 服务挂了。 (3)可能是你的依赖方超时了。 (4)可能是调用方的参数有问题。 (5)可能是调用方的 阅读全文
posted @ 2019-05-14 13:31 tt&yy 阅读(8363) 评论(0) 推荐(1) 编辑