当前位置: 首页 > 后端技术 > PHP

AsfPHP开发的配置信息常驻在系统内存中

时间:2023-03-29 21:47:29 PHP

传统MVC和Asf传统MVC框架每次请求时都会重新加载配置文件。即使配置文件的内容没有更新,也会重新加载一次。这是一个非常糟糕的设计。(开启Opcache后,还有一个进程时间执行。)Asf框架读取的配置文件内容保存到系统内存中,下次请求直接到内存中读取数据。Asf还提供了一个非常简单的配置实现ConfigCache。什么场景适合开启ConfigCache?Web应用场景建议启用。更高版本可能默认启用。在CLI和多线程模式下也会生效,但是每次执行都会释放PHP脚本。支持的数据类型有:strings,arrays,integers,boolean,doubles,floats,nullFlowcharttoenablecachingmethodrun();Asf\Config\Php加载php配置文件getConfig()->toArray());print_r(Asf\Config::get()->toArray());性能测试简单的在Opcache开启时进行AConfigCache性能测试,ab-c100-n10000配置文件中配置项的复杂程度与性能指标直接相关。启用缓存asf.cache_config_enable=1Totaltransferred:16109994bytesHTMLtransferred:14259994bytesRequestspersecond:6859.01[#/sec](mean)Timeperrequest:14.579[ms](mean)Timeperrequest:0.146[ms](mean,acrossallconcurrentrequests)NocacheTotaltransferred:16080000bytesHTMLtransferred:14230000bytesRequestspersecond:6398.22[#/sec](mean)Timeperrequest:15.629[ms](mean)Timeperrequest:0.156[ms](mean,acrossallconcurrentrequests)提示缓存配置不是基于sharedmemory,是基于PHP进程的,不会有共享内存锁问题