摘要:
php thinkphp5.1 导出百万数据方案 先说一下一般我们在执行大数据操作时,遇到最常见的问题就是:1、执行超时 参考这里2、内存溢出 参考这里 看了这两个之后再来看这个方案,实现思路大概是: 先利用set_time_limit(0)不限制执行时间 将要查询的数据分段查询,每次查询创建一个c 阅读全文
摘要:
本文实例讲述了PHP单例模式数据库连接类与页面静态化实现方法。分享给大家供大家参考,具体如下: 数据库test中数据表account内容 单例模式的数据库连接类 db.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 阅读全文
摘要:
单例模式的定义 确保某一个类只有一个实例,不能重复实例,只能它自己实例化,而且向整个系统提供这个实例。 解决的问题 即一个类只被实例化一次,当其他人对其再次实例化时,返回第一次实例化的对象,可以避免大量的 new 操作,减少资源的消耗。 原则:四步走,三私一公 私有化静态属性 私有化构造方法 私有化 阅读全文
摘要:
几个常用命令行 登录 redis-cli-h127.0.0.1-p6379-a123 查看内存 info memory 这里面 info 是命令 memory 是参数 单单输入 info 就死查看所有的信息,如果只需要查看内存情况,只需要加上内存这个参数 127.0.0.1:6379> info m 阅读全文
摘要:
方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2, 阅读全文
摘要:
只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 面试题剖析 一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请 阅读全文
摘要:
最近遇到一个数据查询接口性能低下的问题,需要进行优化,从解决方案的调研与梳理到方案的确定,再到最终方案的执行落地,我将优化的过程完整的记录了下来,与大家分享学习,希望能给大家有所帮助和启发。 PS:以下我所描述的所有表和字段都是虚拟的。 问题产生 我们有很多上报的数据,数据量比较大。这些数据保存在 阅读全文
摘要:
声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型 ”。 一 善用EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。 下面来个简单的示例,标注(1,2,3,4,5)我们要重点关注的数据 •type列: 连接类型。一个好的sql语句至少要达到rang 阅读全文
摘要:
<?php /** * redis操作类 * 说明,任何为false的串,存在redis中都是空串。 * 只有在key不存在时,才会返回false。 * 这点可用于防止缓存穿透 * */ class Redis { private $redis; //当前数据库ID号 protected $dbId 阅读全文
摘要:
封装MySQL的单例一、分析1、实现单例 2、连接数据库 3、对数据进行操作 二、步骤第一步:实现单例 第二步:初始化参数 第三步:连接数据库 第四步:操作数据 1、执行数据操作语句(增、删、改) 2、执行数据查询语句 a) 返回二维数组 b) 返回一维数组 c)返回一行一列 三、 代码 阅读全文