[composer] composer dump-autoload 的加载优化
2023-02-18 15:41:28 时间
执行命令 composer dump-autoload -o (-o 等同于 --optimize)
原理:
这个命令的本质是将 PSR-4/PSR-0 的规则转化为了 classmap 的规则, 因为 classmap 中包含了所有类名与类文件路径的对应关系,所以加载器不再需要到文件系统中查找文件了。可以从 classmap 中直接找到类文件的路径。
执行命令 composer dump-autoload -a (-a 等同于 --classmap-authoritative)
原理
执行这个命令隐含的也执行了 Level-1 的命令, 即同样也是生成了 classmap,区别在于当加载器在 classmap 中找不到目标类时,不会再去文件系统中查找(即隐含的认为 classmap 中就是所有合法的类,不会有其他的类了,除非法调用)
执行命令 composer dump-autoload --apcu
原理:
使用这个策略需要安装 apcu 扩展。
apcu 可以理解为一块内存,并且可以在多进程中共享。
这种策略是为了在 Level-1 中 classmap 中找不到目标类时,将在文件系统中找到的结果存储到共享内存中, 当下次再查找时就可以从内存中直接返回,不用再去文件系统中再次查找。
相关文章
- 安卓项目五子棋代码详解(五)
- 安卓项目五子棋代码详解(四)
- 技术分享 | 缓存穿透 - Redis Module 之布隆过滤器
- Docker高级篇:Redis集群实战!从4主4从缩容到3主3从,该怎么处理?
- Redis 单线程模型 精讲
- Redis6.0使用了多线程还能保证线程安全么?-Redis6.0 多线程精讲
- Redis 搞懂缓存击穿、缓存穿透、缓存雪崩 产生原因及产线常用的解决方案
- 这样讲Redis哨兵机制Sentinel的工作原理,或许你真的能听懂~
- 这样讲Redis Cluster的工作原理,或许你真的能听懂~
- 实战:常见的延时队列解决方案及代码实现,真的很全:MQ、Redis、JDK队列、Netty时间轮~
- 这样讲Redis 主从复制的工作原理,或许你真的能听懂~
- 为什么有的人学完Netty 都还不知道BIO|NIO|AIO 的区别?
- 10分钟快速入门Netty 比写NIO爽百倍
- 熬夜手绘netty线程模型图 如果还不懂的话,那我...
- Netty 是如何解决拆包和 粘包问题 ?最后一种方案最香
- Netty 如何通过心跳检测机制实现空闲自动断开
- .NET Core如何通过认证机制访问Kafka?
- .net 温故知新:【10】.NET ORM框架EFCore使用入门之CodeFirs、DBFirst
- 一次 Redis 事务使用不当引发的生产事故
- 安卓项目五子棋代码详解(三)