qxandxt

导航

2019年3月4日 #

避免商品超卖的4种方案

摘要: 原始方案(失败):在每次下订单前我们判断促销商品的数量够不够,不够不允许下订单,更改库存量时加上一个条件,只更改商品库存大于0的商品的库存,当时我们使用ab进行压力测试,当并发超过500,访问量超过2000时,还是会出现超卖现象。 public function buyOne() { $shop = 阅读全文

posted @ 2019-03-04 20:59 qxandxt 阅读(190) 评论(0) 推荐(0) 编辑

高并发架构技术|缓存失效、缓存穿透问题 PHP 代码解决

摘要: 问题描述 引起这个原因的主要因素是高并发下,我们一般设定一个缓存的过期时间时,可能有一些会设置5分钟啊,10分钟这些;并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间在同一时刻,这个时候就可能引发——当过期时间到后,这些缓存同时失效,请求全部转发到DB,DB可能会压力过重。 处理方法 阅读全文

posted @ 2019-03-04 11:22 qxandxt 阅读(179) 评论(0) 推荐(0) 编辑

php面向对象 封装继承多态 接口、重载、抽象类、最终类总结

摘要: 1、面向对象 封装继承多态 接口、重载、抽象类、最终类 面向对象 封装继承多态 首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1、什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2、什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个 阅读全文

posted @ 2019-03-04 10:33 qxandxt 阅读(338) 评论(0) 推荐(0) 编辑

PHP面向对象(抽象类与抽象方法、接口的实现)

摘要: 一、抽象类与抽象方法 1,任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。 2,定义为抽象的类不能被实例化。 3, 被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 4,必须在子类中将抽象类的全部抽象方法全部实现才可以 <?php // 阅读全文

posted @ 2019-03-04 10:02 qxandxt 阅读(141) 评论(0) 推荐(0) 编辑

2019年2月27日 #

php运行代码流程和性能优化方法

摘要: 恢复内容开始 php文件->扫描->zd引擎去理解->opcodes->执行->输出 例子,用white随机循环20000数据进行性能测试,分别对比isset 和array_key_exists 内置php函数 执行结果后的差距 使用isset 内置函数进行数据判断执行时间大概为50ms 使用arr 阅读全文

posted @ 2019-02-27 22:13 qxandxt 阅读(262) 评论(0) 推荐(0) 编辑

php压力测试工具简单实用方法

摘要: 命令 ab -h 指令帮助 ab -n100 -c10 http://www.baidu.com 发起100个请求 并发数为10 设置测试地址是百度,注意测试测试时候请求数和并发数尽量设置低一点 Request per second 每秒接受的请求数,101.65 /sec 为单位,如每秒接收101 阅读全文

posted @ 2019-02-27 20:02 qxandxt 阅读(651) 评论(0) 推荐(0) 编辑

2019年2月11日 #

PHP多例模式介绍_PHP教程

摘要: 1、多例类可以有多个实例2、多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例。 大家都知道PHP单例模式,却很少说PHP多例模式,下面是在wikipedia上看到的PHP多例模式的例子:abstract class Multiton { private static $instance 阅读全文

posted @ 2019-02-11 17:09 qxandxt 阅读(158) 评论(0) 推荐(0) 编辑

php 获取文件后缀最简单的方法

摘要: 1 <?php 2 $recordingname = '通话录音@18502290616(18502290616)_20171103142448.mp3'; 3 $suffix = end(explode('.', $recordingname));//echo 'mp3' 阅读全文

posted @ 2019-02-11 15:33 qxandxt 阅读(128) 评论(0) 推荐(0) 编辑

调试跳转动态打印

摘要: 1 ob_end_clean();#清除并关闭缓冲,输出到浏览器之前使用这个函数。 2 ob_implicit_flush(1);#控制隐式缓冲泻出,默认off,打开时,对每个 print/echo 或者输出命令的结果都发送到浏览器。 3 sleep(2); 阅读全文

posted @ 2019-02-11 15:26 qxandxt 阅读(121) 评论(0) 推荐(0) 编辑

PHP对redis操作详解

摘要: /*1.Connection*/$redis = new Redis();$redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超过1秒放弃链接$redis->open('127.0.0.1',6379,1);//短链接(同上)$redis 阅读全文

posted @ 2019-02-11 14:21 qxandxt 阅读(91) 评论(0) 推荐(0) 编辑