0.I/O模型和零拷贝 Apacheprefork 模型 worker 模型 event 模型属于事件驱动模型(epoll),它和 worker 模式很像,最大的区别在于,它解决了 keepalive 场景下,长期被占用的线程的资源浪费问题 优点:单线程响应多请求,占据更少的内存,高并发下表现更优秀,会有一个专门的线程来管理 keep-alive 类型的线程,当有真实请求过来的时候,将请求传递给服务线程,执行完毕后,允许 2020-12-25 运维 > Nginx #Nginx
vue基础知识 冒泡: 点击元素, 也会触发父元素的点击事件 defineProperty: 实现属性代理; 实现单向数据绑定 v-开头的属性, 称之为 Vue 的指令 标签分为两类: 表单标签 和 非表单标签, 单向绑定的指令一般用于非表单标签, 双向绑定的指令用于表单标签 v-text:和双花括号的效果一样 v-html:和 v-text 唯一的区别就是能解析 html 代码 v-bind:属性名:**简写 2020-12-11 前端 > Vue2 #Vue
php-fpm进程模型 子进程和子线程:https://blog.csdn.net/weixin_39561473/article/details/89576549 开启一个 php-fpm 主进程,用户是 root,然后开启多个 php-fpm 子进程,用户是 www。 每个子进程同时只能处理一个请求,所有开启多少 php-fpm,它的并发就是多少,例如开启了 50 个 php-fpm 子进程,那么并发就是 50。子进 2020-12-11 PHP > EasySwoole #EasySwoole
jwt https://www.easyswoole.com/Components/jwt.htmlhttps://baijiahao.baidu.com/s?id=1608021814182894637&wfr=spider&for=pc使用 JWT 实现单点登录(完全跨域方案) JWT:JSON Web Token JWT 不仅可用于认证,还可用于信息交换。善用 JWT 有助于减少服务 2020-12-11 PHP > EasySwoole #EasySwoole
上传文件 上传文件大小受package_max_length配置项限制, 默认为 2M。 不要用 swoole 处理大文件上传, swoole 底层是全内存的,因此如果package_max_length设置过大,可能导致大量并发请求将服务器内存耗尽。 2020-12-11 PHP > EasySwoole #EasySwoole
控制器特性以及常用方法 私有属性不释放。可以通过 gc 来释放。注意 gc 方法一定要先执行parent::gc();实现父类的 gc,因为基类中 gc 会进行重置 public 属性的操作。 控制器对象常驻内存,构造方法和析构方法只有在进程开启和退出的时候才会执行。可以用 onRequest 代替构造方法,用 afterAction 代替析构方法。 2020-12-11 PHP > EasySwoole #EasySwoole
从协程中获取链接的方式 defer、 invoker、 getObjgo(function () { $redisPool = new \App\Pool\RedisPool(new \EasySwoole\Pool\Config(), new \EasySwoole\Redis\Config\RedisConfig(\EasySwoole\EasySwoole\Config::getInstance( 2020-12-11 PHP > EasySwoole #EasySwoole
SplQueue 先进先出 enqueue: 进入队列 dequeue: 退出队列, 返回退出队列的元素 bottom(): 队列底, 就是第一个添加到队列的元素 top(): 队列头, 就是最后一个添加到队列的元素 offsetSet(‘0’, data): 更新元素的值, offset=0 是 bottom 所在的位置, 1、2、3… 以此类推 rewind(): 使得指针指向 bottom 所在位置 2020-12-11 PHP > SPL #SPL
SPL 参考:https://www.imooc.com/video/2510/0 什么是 SPLStandard PHP Library 的缩写,它是用于解决典型(常见)问题的一组接口与类的集合。 典型(常见)问题数学建模/数据结构解决数据怎么存储的问题 元素遍历数据怎么查看的问题 常用方法的同意调用通用方法(数组、集合的大小) 自定义遍历 类定义的自动装载让 php 程序适应大型项目的管理要 2020-12-11 PHP > SPL #SPL
PHP常用函数 - 数组 排序sort / rsort按值排序,值与下标没有绑定,升/降。 asort / arsort按元素值进行排序,值与下标绑定。 ksort / krsort按键的值进行排序。 natsort自然排序 $array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png"); as 2020-12-11 PHP > 基础 #PHP
类型限定 示例: public function onRequest(?string $action): ?bool { return parent::onRequest($action); // TODO: Change the autogenerated stub } 已上示例表示传入的参数$action 可以是 null 或者字符串,不能是其他类型。同理:返回值只能是 b 2020-12-11 PHP > 基础 #PHP
目录结构 zend_types.h 中定义了所有变量的数据类型。 zend_hash.h 中定义了数组相关的 api。 zend_alloc_sizes.h 和 zend_alloc.c 和 zend_alloc.h 这三个文件是和内存相关。 zend_alloc_sizes.h 中重点掌握 ZEND_MM_BINS_INFO 这个宏定义。 zend_alloc.h 中重点掌握以下函数: ZEND_API 2020-12-11 PHP > 源码 #源码
ReflectionClass和ReflectionMethod ReflectionClassReflectionMethod ReflectionClass 类报告了一个类的有关信息。 ReflectionMethod 类报告了一个方法的有关信息。 实例化 ReflectionMethod 的时候需要传入对象和方法两个参数。 通常 ReflectionMethod 可以作为参数传递到ReflectionClass的getMethod。来限制获取的方法类别。 2020-12-11 PHP > 基础 #PHP
PHP中预定义的6个接口 Traversable 遍历接口 Iterator 迭代器接口 IteratorAggregate 聚合式迭代器接口 ArrayAccess 数组式访问接口 Serializable 序列化接口 Closure 2020-12-11 PHP > 基础 #PHP
去重 JS 版本数组去重let arr = [2, 22, 2, 2]; let x = new Set(arr); console.log([...x]); PHP 版本数组去重$input = ["a" => "green", "red", "b" => "green", "blue", "red"]; //方法一 使用array_unique()函数 array_unique($in 2020-12-11 PHP > 基础 #PHP