摘要: 手写顺序 机读顺序 阅读全文
posted @ 2020-09-18 16:12 今天滴天气不错 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 原因如下:1.QC命中率低,因为需要请求sql和请求时的环境(连接的数据库、协议版本、字符集等)与缓存中的一模一样才会命中缓存2.由于QC需要缓存最新的数据,所以在数据发生变化时(比如增删改操作)QC就会刷新,这导致缓存会频繁的写入、擦除,消耗过多资源此外,QC也不适用于下面几个场景:读取mysql 阅读全文
posted @ 2020-09-18 14:08 今天滴天气不错 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透:key对应的数据在缓存和数据源都不存在,导致每次请求都会出现没有命中缓存,接着查询数据源,从而有可能压垮数据源。比如用一个不存在的用户id获取用户信息,在并发情况下就可能压垮数据库。 解决思路: 1.用同一个不存在用户id去查询这种情况属于恶意请求,可以在nginx层根据ip做拦截。 2. 阅读全文
posted @ 2020-09-18 11:47 今天滴天气不错 阅读(1581) 评论(0) 推荐(0) 编辑
摘要: 单例模式,说白了就是说一个类只能实例化一次 db类、config类都会用到,经常用的类 减少new的次数 <?php class Single { private static $_instance = null; private function __construct() { } private 阅读全文
posted @ 2020-09-18 11:34 今天滴天气不错 阅读(268) 评论(0) 推荐(0) 编辑
摘要: ①通过客户端/服务器通信协议与 MySQL 建立连接。 ②查询缓存,这是 MySQL 的一个可优化查询的地方,如果开启了 Query Cache 且在查询缓存过程中查询到完全相同的 SQL 语句,则将查询结果直接返回给客户端;如果没有开启Query Cache 或者没有查询到完全相同的 SQL 语句 阅读全文
posted @ 2020-09-18 11:14 今天滴天气不错 阅读(1128) 评论(0) 推荐(1) 编辑