php
月之海的记忆
这个作者很懒,什么都没留下…
展开
-
PHP使用RabbitMQ实例
相关博文:CentOS6.9安装RabbitMQ和源码编译安装php的RabbitMQ扩展RabbitMQ入门基础CentOS7源码编译安装nginx+php7.2+mysql5.7并使用systemctl管理RabbitMQ的安装过程,工作流程,和一些基础概念已经在前面的笔记中提到了,今天在本地实现了php连接RabbitMQ,以及消息的生产和消费的过程,首先看下没有生产者和消费者的默认Rab...转载 2019-05-15 11:17:12 · 365 阅读 · 0 评论 -
Redis发布订阅机制在PHP中的运用
先启动订阅者sub.php,使其处于阻塞运行等待的状态然后执行发布者pub.php,向订阅了该频道的订阅者推送消息#subscribe客服端 sub.php$redis = new \Redis();$res = $redis->pconnect('192.168.6.33', 6379);$key = 'first';#这里的subscribe是一个独占链接的,你在终端...原创 2019-05-13 10:28:54 · 344 阅读 · 0 评论 -
Redis和MongoDB的区别
项目中用的是MongoDB,但是为什么用其实当时选型的时候也没有太多考虑,只是认为数据量比较大,所以采用MongoDB。最近又想起为什么用MongoDB,就查阅一下,汇总汇总:之前也用过redis,当时是用来存储一些热数据,量也不大,但是操作很频繁。现在项目中用的是MongoDB,目前是百万级的数据,将来会有千万级、亿级。就Redis和MongoDB来说,大家一般称之为Redis缓存、...转载 2019-05-13 14:26:48 · 164 阅读 · 0 评论 -
centOS7安装Composer
1、进入Composer国内镜像网站文档页查看安装方法:https://docs.phpcomposer.com/00-intro.html2、在centOS系统中进入特定目录执行以下命令:cd /usr/local/composercurl -sS https://getcomposer.org/installer | php注意:该步骤可能遇到以下问题:2.1、ope...转载 2019-05-13 16:01:47 · 1323 阅读 · 0 评论 -
PHP使用Redis实现分布式锁
一、分布式锁的作用: redis写入时不带锁定功能,为防止多个进程同时进行一个操作,出现意想不到的结果,so...对缓存进行插入更新操作时自定义加锁功能。二、Redis的NX后缀命令 Redis有一系列的命令,其特点是以NX结尾,NX的意思可以理解为 NOT EXISTS(不存在),SETNX命令 (SET IF NOT EXISTS) 可以理解为如果不存在则插入,Red...转载 2019-05-07 16:57:34 · 517 阅读 · 0 评论 -
PHP中使用cURL实现Get和Post请求的方法
/** * curl请求 * @param string $url 地址,get请求请补充在url * @param string $post_data post的数据,get请求则留空 * @param bool $verify 是否ssl验证 * @param string $cainfo CA根证书 * @param array $header header数组 * @par...原创 2017-10-18 10:21:24 · 314 阅读 · 0 评论 -
PHP生成word的三种方式
http://www.cnblogs.com/phphuaibei/archive/2011/11/30/2269427.html原创 2017-02-23 13:54:45 · 973 阅读 · 0 评论 -
PHPExcel导出表格
/** * 数据导出 * @param array $title 标题行名称 * @param array $data 导出数据 * @param string $fileName 文件名 * @param string $savePath 保存路径 * @param $转载 2018-02-06 14:45:13 · 202 阅读 · 0 评论 -
swoole之代码热更新实现
随着swoole的版本迭代更新,已经足够稳定了,在阿里,腾讯,yy等各大公司都有着使用,也有很多游戏圈里的朋友也在使用,这些朋友经常会提到一个问题,每次代码更新还需要停止服务,然后重新启动,来达到更新代码,然而这种做法,是比较粗暴的。其实swoole里提供reload的特性,完全支持代码的热更新。在介绍swoole的reload之前,先简要的讲讲web方式是如何改了文件就立即生效的: ...转载 2018-08-01 14:20:49 · 4580 阅读 · 0 评论 -
PHP中的PSR规范
什么是PSR?PSR是PHP Standards Recommendation的简称,这个是php-fig组织制定的一套规范。至今,php-fig已经发布了五个规范:PSR-0:自动加载标准,2014-10-21该标准已经被废弃,使用PSR-4替代,不再细讲 PSR-1:基本的编码风格 PSR-2:编码风格(更严格) PSR-3:日志记录器接口 PSR-4:自动加载PSR-1...转载 2019-03-06 16:02:06 · 236 阅读 · 0 评论 -
PHP的代码优化
1:单引号代替双引号,双引号会去找变量。2:方法定义为static,性能提升4倍。3:$arr['id']的性能是$arr[id]的7倍。4:echo性能快,尽量使用echo $a,$b,$c而非echo $a.$b.$c。5:循环之前确定循环次数,尽量用foreach。6:注销不使用的变量,节省内存。7:尽量不使用魔法函数:__get、__set等。8:require_once()...转载 2019-04-15 13:48:27 · 696 阅读 · 1 评论 -
PHP使用swoole实现多线程爬虫
在swoole中,php可以借助其启动子进程的方式,实现php的多进程:<?php$s_time = time();echo '开始时间:'.date('H:i:s',$s_time).PHP_EOL;//进程数$work_number=6;//$worker=[];//模拟地址$curl=[ 'https://blog.csdn.net/feiwutudo...原创 2019-05-05 14:32:58 · 1888 阅读 · 2 评论 -
PHP利用Mysql锁解决高并发的方法
利用Mysql的锁来解决高并发的问题先看没有利用事务的时候并发的后果创建库存管理表 1 2 3 4 5 CREATE TABLE `storage` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `number` int(11) DEFAULT NULL,...转载 2019-04-30 14:27:17 · 472 阅读 · 0 评论 -
Web性能压力测试之Webbench使用详解
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,J...转载 2019-04-30 14:31:11 · 443 阅读 · 0 评论 -
PHP检测及判断手机登录用户是安卓或者iPhone,PC客户端
<?php$agent = strtolower($_SERVER['HTTP_USER_AGENT']); $is_pc = (strpos($agent, 'windows nt')) ? true : false; $is_iphone = (strpos($agent, 'iphone')) ? true : false; $is_ipad = (strpos($agent,转载 2016-08-10 18:03:37 · 995 阅读 · 0 评论