原创 php

php的垃圾回收机制

在平时php-fpm的时候,可能很少人注意php的变量回收,但是到swoole常驻内存开发后,就不得不重视这个了,因为在常驻内存下,如果不了解变量回收机制,可能就会出现内存泄露的问题,本文将一步步带你了解php的垃圾回收机制,让你写出的代码不再内存泄漏写时复制首先,php的变量复制用的是写时复制方式,举个例子. $a=仙士可.time();$b=$a;$c=$
阅读全文
redis 通信协议,php实现redis协议
原创 php

redis 通信协议,php实现redis协议

redis通信协议redis通信协议由tcp协议进行数据交互,默认端口为6379  请求Redis 服务器接受命令以及命令的参数。服务器会在接到命令之后,对命令进行处理,并将命令的回复传送回客户端。命令格式为:*<参数数量> CRLF$<参数 1 的字节数量> CRLF<参数 1 的数据&g
阅读全文
原创 php

关于php对象池

生命周期对象池需要从php的生命周期说起,php的应用大部分都是web网站,而大部分web网站使用的都是cgi模式进行运行的,导致php生命周期跟随着请求结束而结束,从而没有对象池的概念cgi模式的一次请求可以分为以下几步:1:用户请求2:web服务器(apache,nginx,iis等)接收请求3:服务器通过cgi协议调用php,运行php文件4:php文件处理逻辑,返回数据,php进程 销毁/
阅读全文
php yield关键字以及协程的实现
原创 php

php yield关键字以及协程的实现

php的yield是在php5.5版本就出来了,而在初级php界却很少有人提起,我就说说个人对php yield的理解Iterator接口在php中,除了数组,对象可以被foreach遍历之外,还有另外一种特殊对象,也就是继承了iterator接口的对象,也可以被对象遍历,但和普通对象的遍历又有所不同,下面是3种类型的遍历情况:可以看出,迭代器的遍历,会依次调用重置,检查当前数据,返回当前指针数据
阅读全文
php实现tcp服务器
原创 php

php实现tcp服务器

经过了一个半月的研究,终于将php多进程,和tco方面研究通了,这篇文章主要讲解一下我了解到的知识点php多进程pcntl扩展pcntl扩展只能运行在linux环境下,该扩展可以使php使用多进程,从而多进程操作业务等,详细内容请看:http://php.net/manual/zh/book.pcntl.phpphpsocket扩展socket扩展,能让php实现tcp长连接,websocket,
阅读全文
原创 php

php一次性大量数据入库解决方法

当有业务需求需要一次性循环n条数据,插入或更新数据库时,如果单纯的循环,插入/更新,会消耗太多的数据库资源一下是一种简单的解决方案数据库的insert 是可以批量更新的,当有大量数据循环insert时,可以将数据先保留不执行插入命令,到最后一条时一次性插入,例如tp的addAll()方法;数据库的update 如果使用case when 的话,也是可以批量更新的,本人在百度上找到了一个基于tp的s
阅读全文
原创 php

php识别相似图片简易版

这个识别图片的原理是分析像素点,计算平均颜色,大于平均颜色则为1,小于则为0,然后进行比对精确度很低,只能匹配形状和比例一样的图片class img{//比较图片相似度    public function cpimg($img1, $img2, $rate = '
阅读全文
本文目录
    Loading...