- 博客(19)
- 收藏
- 关注
原创 PHP垃圾回收机制
垃圾回收,简称gc。顾名思义,就是废物重利用的意思。再说这个之前先接触一下内存泄露,大概意思就是申请了一块地儿拉了会儿屎,拉完后不收拾,那么那块儿地就算是糟蹋了,地越用越少,最后一地全是屎。说到底一句,用了记得还。一定程度上说,垃圾回收机制就是用来擦屁股的。如果用过C语言,那么申请内存的方式是malloc或者是calloc,然后你用完这个内存后,一定不要忘了用free函数去释放掉,这就是传说中手动垃圾回收,一般都是扫地神僧用这种方式。很多高层次语言中,你这辈子都是接触不到内存管理的,比如世界上最好的语言p
2022-01-20 15:30:51
512
原创 认识Zval
什么是ZvalZval是PHP中变量的结构体结构体结构体: {key,value,ref_count,is_ref,type}翻译后的结构体:{键,值,使用计数器,引用计数器,类型}有哪些类型IS_NULL, IS_LONG, IS_STRING, IS_ARRAY, IS_OBJECT赋值和引用每当我们新建一个变量的时候,操作系统都会开辟一份空间通过结构体将变量存储起来。那么相同的键值进行建立那么会使系统显得笨重起来(意味着每次操作都要开辟空间生成变量),那么这时候引入了赋值和引用
2022-01-19 23:53:40
367
原创 linux KILL掉某一个进程的组合使用
组合使用方式:netstat -nap|grep 0.0.0.0:8799|awk ‘{print $7}’|cut -d / -f 1|xargs -n1 -t kill -9详解如下:已知进程的端口0.0.0.0:8799使用netstat -nap|grep 0.0.0.0:8799 正在运行的进程信息,格式如下:在使用awk ‘{print $7}’ 获取第7行的内容即 26723/phpcut -d / -f 1 这句话的意思是使用分割符 / 分开 ,并且获取第一个结果 即 2672
2021-08-23 13:57:22
187
原创 nginx分流技术
什么是分流技术分流指定是多台服务通过nignx的配置根据不同的分流方案使请求分配到对应的服务器上进行处理事件。采用nginx分流方案根据IP分流根据轮询(默认)根据URL分流(第三方)根据响应时间动(第三方)IP分流IP分流(ip_hash) 每个请求按访问ip的hash结果分配。优点:这样每个访客固定访问一个后端服务器,可以解决session的问题。缺点:1.可能会使某一个服务器处于高峰高压状态,其他服务器闲置。导致服务器资源浪费,也达不到分流的理想效果。2.当前服务器若是d
2021-07-31 23:35:26
1821
原创 PHPEXCEL批量导入到数据库处理方式
使用php导入EXCEL文件经常会遇到的问题就是服务 500 或者是超时,或者是资源不够用。可使用以下方式去处理1.首先先将EXCEL转换成csv格式2.可以选择使用异步处理方式。分批异步处理,主程序如下:function asynRun($param){ $url = 'http://test.com/asynRun.php'; $urlinfo = parse_url($url); $query = isset($param)? http_build_query($par
2020-11-17 17:48:52
547
原创 百万级数据库优化
全表-索引查询篇忌查询索引失效使用null查询使用!= 或 <>List itemor 作为连接条件,一字段有索引,一字段没索引in 和 not in(慎用)like 的使用 ‘%test%’ ,’%test’,索引失效字段查询的键不能使用函数count(*) 不带条件其他-避免频繁创建和删除临时表,以减少系统表资源的消耗。例如子查询宜先索后它合理使用innodb和myisam属性篇尽可能的使用 varchar/nvarchar 代替 char/nch
2020-10-21 11:24:16
91
原创 swoole总结
为什么我设置最大连接数是36,怎么到达23个就已经连接不上了?答案: swoole底层也会创建一些 socket,因此,个人总结客户端猜测worker_num + task_num + master(10)< 客户端连接数 < max_connection...
2020-10-14 09:55:04
476
原创 CentOS7无法使用yum命令
问题描述:One of the configured repositories failed (Unknown),and yum doesn’t have enough cached data to continue. At this point the onlysafe thing yum can do is fail. There are a few ways to work “fix” this:解决方案:设置网卡开机自动启动即可设置网卡开机自动启动针对这个问题首先要确认网卡是否已经启动了
2020-10-13 16:20:49
574
原创 swoole-redis连接池的问题总结
答题小程序遇到的问题1.使用swoole的redis池爆满之后,无法调试,也不会报错,但是使用strace调试代码跟踪会出现解决方案:使用下面插件作为连接池因为他有 一个定时关闭redis链接池的数量https://gitee.com/pipixia-pi/swoole-redis/blob/master/src/RedisPool.php2.swoole无法查看内核类这个是韩老大的核心内容解决方案:https://github.com/matyhtf/framework3.swoole
2020-08-17 11:53:25
2823
原创 swoole-task-channel-连载4
答题小程序中有一个是需要检测游戏状态的任务就时时刻刻检测游戏当前的状态,比如处理用户异常掉线检测,游戏结束检测,强制答题,机器人答题等,这个任务主要是为了保持游戏的完整性而开发的既然是一个任务,那么需要开启一个task协程去处理task官方文档介绍,task任务主要处理的是耗时的任务,那么用他开启游戏检测是再好不过的了。channel在task任务中,我是使用了channel管道去实现检测,一协程专门做检测,一协程专门做处理业务下面的是部分代码public function run($ser
2020-06-29 16:42:45
163
1
原创 swoole-整合thinkphp5.1-连载3
基于thinkphp5.1进行整合swoole。此篇文章涉及的知识点有点多。值得注意的是:这篇文章不是单单整合swoole服务端,还包括模型整合,redis协程开发等。基础搭建基于thinkphp5.1开启socket服务,我这里使用了自定义服务类在config文件夹配置里面加入PHP配置代码<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CA
2020-06-28 15:48:33
501
原创 swoole-服务流程图示-连载2
介绍了概念,只是初步了解了swoole的作用,下一步进行使用图示来介绍一下swoole的运行流程。下面图是官方的图运行流程图进程 / 线程结构图
2020-06-24 17:17:03
165
原创 swoole实战-概念篇-连载1
swoole真的是程序员进阶的好扩展,毕竟PHP都是单线程编程,无外乎就是学一下CURD和框架,最多再研究深入一下框架编写和设计模式等。看到swoole真的是各种扩展内容和更多的延伸,就比如socket服务器,协程,异步任务等功能。这些功能可以使PHP面向的方向更多了,所以学习过程中,必须要笔记。...
2020-06-24 13:47:28
246
原创 PHP多线程学习pthread
遇到的问题如果遇到无法启动此程序,因为计算机中丢失pthreadVC2.dll系统64位系统应将pthreadVC2.dll复制到C:\Windows\SysWOW64中,而不是C:\Windows\System32为什么在window没办法运行PHP7.0版本的多线程7.0版本的pthreads已被重写,只支持使用cli下载资源路径官方多线程扩展下载链接-支持PHP版本5.3~7.0PHP各个版本下载...
2020-06-03 17:32:44
420
原创 nginx配置pathinfo模式
记录一下新的服务器nginx配置pathinfo模式:nginx服务器一开始是不支持pathinfo模式的,需要我们进行配置。把lnmp下nginx的配置文件nginx.conf中的“include enable-php.conf”修改为“include enable-php-pathinfo.conf”把php配置文件php.ini中的“cgi.fix_pathinfo=0”修改为“cgi.fix_pathinfo=1”enable-php-pathinfo.conf代码如下: locat
2020-05-14 16:25:14
1238
1
原创 答题小程序模式架构
最近公司接到一个项目,仿头脑王者模式开发一个小程序出来。我心想,如此大的一个项目如何才能够去完美的架构开发出来。一开始是毫无头绪的,但是把需求和玩法整理一遍,似乎也就那么回事,该篇文章只介绍答题模式的架构,其他的小功能不在这篇文章展示了。下面是以PHP的代码进行架构与分析架构流程需求分析原始需求排位赛计时赛难度赛互选赛流程图和思维导图(略)代码架构技术选型问题分析与解决方案(部分代码)控制流程代码(工厂代码)玩家游戏状态控制对战基础文件答题者代码排位赛遇到的问题小结需求分析原始需求排位赛1)
2020-05-13 15:56:50
811
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人