前端项目的优化
1 | 前端项目的优化主要就是减小js的大小,剔除不必要的第三方库,然后就是让静态资源都走cdn,这样整个页面的渲染速度会非常快,给用户的体验非常好,缺点就是费钱 |
后端接口优化
- 数据库优化,针对业务合理的设计表结构,该加的索引都加上去
- 根据自身业务合理使用redis等缓存
- 使用php7以上的版本并开启Opcache
嘿嘿,讲了这么多,这其实是一篇介绍Opcache的文章
php开启Opcache
1 | vi php.ini |
重启php-fpm,就可以看到with Zend OPcache了
1 | php -v |
上面的配置是不会去清除Opcache缓存的,会导致代码更新后没有效果,还是走的缓存的代码,想要清除缓存有几种方法
①可以加入下面的配置,每60秒检测一次更新字节码缓存,业务代码更新后可能需要60秒以后才能访问到最新的内容
1 | opcache.validate_timestamps=1 |
②每次发布完代码手动执行下清除缓存的函数
1 | boolean opcache_reset ( void ) |
当PHP以PHP-FPM的方式运行的时候,opcache的缓存是无法通过php命令进行清除的,只能通过http或cgi到php-fpm进程的方式来清除缓存
③重启PHP-FPM
④是我目前使用的方式,使用cachetool
1 | CacheTool 4.x works with PHP >=7.1 CacheTool 3.x works with PHP >=5.5.9 CacheTool 2.x works with PHP >=5.5.9 CacheTool 1.x works with PHP >=5.3.3 |
大家根据各自的php版本选择相应的CacheTool,各版本下载地址
重置缓存的命令
1 | php cachetool.phar opcache:reset --fcgi=127.0.0.1:9000 |
我是使用Deployer作为代码发布工具的,所以相应的加了个task,当软连接指向新目录后触发这个task
1 | // 自定义任务:重置 opcache 缓存 |
几个常用的cachetool命令
1 | //重置缓存 |