随笔分类 -  php

摘要:将发邮件的mailer.php封装 <?php use PHPMailer\PHPMailer\PHPMailer; include_once "phpMailer/PHPMailer.php"; include_once "phpMailer/Exception.php"; include_onc 阅读全文
posted @ 2020-06-19 17:48 大雾哥 阅读(447) 评论(0) 推荐(1)
摘要:Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 服务端处理命令,并将结果返回给客户端。 Redis 管道技术可以在服务端未响应时,客户端可以继 阅读全文
posted @ 2020-06-17 10:41 大雾哥 阅读(327) 评论(0) 推荐(0)
摘要:1.1 PHP-FPM + Nginx 的工作机制 请求从Web浏览器到Nginx,再到PHP处理完成,一共要经历如下五个步骤: 第一步:启动服务 启动PHP-FPM。PHP-FPM 支持两种通信模式:TCP socket和Unix socket; PHP-FPM 会启动两种类型的进程:Master 阅读全文
posted @ 2020-06-03 14:45 大雾哥 阅读(315) 评论(0) 推荐(0)
摘要:前期工作 一、在宿主机创建文件夹 D:\wnmp\mysql57-conf D:\wnmp\mysql57-log D:\wnmp\nginx110-conf D:\wnmp\nginx110-log D:\wnmp\php71-conf D:\wnmp\php71-log D:\wnmp\www 阅读全文
posted @ 2019-07-31 16:26 大雾哥 阅读(3482) 评论(0) 推荐(0)
摘要:参与过抢购活动就知道,很明显的一点是商即便商品实际没有了也是可以下单成功的,但是在支付的时候会提示你商品没有了。 实现原理:list双向链表 使用redis队列,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行.(mysql事务在高并发下性能下降很厉害,文件锁的方式也是). 此处用到了R 阅读全文
posted @ 2019-03-06 00:07 大雾哥 阅读(7581) 评论(0) 推荐(0)
摘要:抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题: 一、高并发对数据库产生的压力二、竞争状态下如何解决库存的正确减少("超卖"问题)第一个问题,对于PHP来说很简单,用缓存技术就可以缓解 阅读全文
posted @ 2019-03-06 00:04 大雾哥 阅读(408) 评论(0) 推荐(0)
摘要:一、抽象类与抽象方法 1,任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。 2,定义为抽象的类不能被实例化。 3, 被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 4,必须在子类中将抽象类的全部抽象方法全部实现才可以 二、接口的实现 阅读全文
posted @ 2019-03-05 23:46 大雾哥 阅读(1531) 评论(0) 推荐(0)
摘要:1、面向对象 封装继承多态 接口、重载、抽象类、最终类 面向对象 封装继承多态 首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1、什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2、什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个 阅读全文
posted @ 2019-03-05 23:30 大雾哥 阅读(629) 评论(0) 推荐(0)
摘要:核心技术点 前端优化 前端优化主要包括动态内容静态化,增加前端缓存。页面静态化是指将指含有大量动态元素的动态网页,如jsp、php等,转换为html静态页 面,静态页面由于不用加载动态元素,其访问速度要比动态页面快得多,可以增加访问速度,减小数据库压力;前端页面缓存在系统前端对Web服务器上的页面进 阅读全文
posted @ 2019-03-05 23:17 大雾哥 阅读(203) 评论(0) 推荐(0)
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在 阅读全文
posted @ 2019-03-05 23:15 大雾哥 阅读(1168) 评论(0) 推荐(0)
摘要:当有业务需求需要一次性循环n条数据,插入或更新数据库时,如果单纯的循环,插入/更新,会消耗太多的数据库资源 一下是一种简单的解决方案 数据库的insert 是可以批量更新的,当有大量数据循环insert时,可以将数据先保留不执行插入命令,到最后一条时一次性插入,例如tp的addAll()方法; 数据 阅读全文
posted @ 2019-03-05 23:14 大雾哥 阅读(1282) 评论(0) 推荐(0)
摘要:原始方案(失败):在每次下订单前我们判断促销商品的数量够不够,不够不允许下订单,更改库存量时加上一个条件,只更改商品库存大于0的商品的库存,当时我们使用ab进行压力测试,当并发超过500,访问量超过2000时,还是会出现超卖现象。 第1种方案:使用mysql的事务加排他锁来解决,首先我们选择数据库的 阅读全文
posted @ 2019-03-05 23:06 大雾哥 阅读(7090) 评论(2) 推荐(1)
摘要:问题描述 引起这个原因的主要因素是高并发下,我们一般设定一个缓存的过期时间时,可能有一些会设置5分钟啊,10分钟这些;并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间在同一时刻,这个时候就可能引发——当过期时间到后,这些缓存同时失效,请求全部转发到DB,DB可能会压力过重。 处理方法 阅读全文
posted @ 2019-03-05 22:58 大雾哥 阅读(859) 评论(0) 推荐(0)
摘要:thinkphp版 //避免频繁请求 (ThinkPHP) $sessID = 'register' . $data['mobile_code_id'] . $data['mobile'] . $data['password']; if(!(new \think\session\driver\Red 阅读全文
posted @ 2019-03-02 23:12 大雾哥 阅读(1337) 评论(0) 推荐(0)
摘要:在PHP中,多态是最常用到的一种特性。所谓多态,是指同一个东西不同形态的展示。在PHP中,我们这样定义多态,一个类被多个子类继承,如果这个类的某个方法在多个子类中表现不同的功能,那么这种行为我们就称其为多态的实现。 多态的实现必须要满足三个条件:一是子类继承父类,二是子类重写父类的方法,三是父类引用 阅读全文
posted @ 2018-12-21 00:26 大雾哥 阅读(145) 评论(0) 推荐(0)
摘要:php是面向对象的脚本语言,而我们都知道,面向对象的语言具有三大特性:封装,继承,多态。php理应具有这三大特性。 封装是类的构建过程,php具有;php也具有继承的特性。唯独这个多态,php体现的十分模糊。原因是php是弱类型语言。 java的多态体现的十分清晰,大体分两类:父类引用指向子类对象; 阅读全文
posted @ 2018-10-31 23:36 大雾哥 阅读(1935) 评论(0) 推荐(0)
摘要:1 '; 19 } 20 static public function eat(){ 21 echo '静态方法吃饭'; 22 } 23 public function intro(){ 24 echo $this->name; 25 } 26 } 27 Error_reporting(E_ALL|E_STRICT); 28 //此时没有... 阅读全文
posted @ 2018-08-16 14:47 大雾哥 阅读(6618) 评论(0) 推荐(0)
摘要:源代码(人认识)->字节码(解释器认识)->机器码(硬件认识)来看下PHP的执行流程,假设有个a.php文件,不启用opacache的流程如下:a.php->经过zend编译->opcode->PHP解释器->机器码启用opacache的流程如下a.php->查找opacache缓存,如果没有则进行 阅读全文
posted @ 2018-08-06 10:43 大雾哥 阅读(306) 评论(0) 推荐(0)
摘要:阻塞(等待)模式: 非阻塞模式: 阅读全文
posted @ 2018-08-02 16:30 大雾哥 阅读(179) 评论(0) 推荐(0)
摘要:1 <?php 2 $my_array = array("Dog","Cat","Horse"); 3 list($a, $b, $c) = $my_array; 4 echo "I have several animals, a $a, a $b and a $c."; 5 //result : I have several animals, a Dog, a Cat and a Horse.... 阅读全文
posted @ 2018-07-31 15:00 大雾哥 阅读(165) 评论(0) 推荐(0)