lamp/lnmp优化1--缓存
为什么需要缓存,因为php是一个解释型语言,每次请求都会从头解析程序,将其编译为特定操作码,之后由php引擎执行并且丢弃掉。有了缓存之后就可以保存这个操作码,并且在下一次调用页面时候重用,这样可以大大重复解析的开销。再有另外一种情况就是当有动态请求时需要请求数据库,这个时候可能会出现瓶颈,也需要缓存。
这里先来看下操作码缓存的问题。这里其实是安装额外的模块来解决这个问题。我们可以选择php eaccelerator(php5.3及以下版本)、xcache、zend或者apc。根据建议选择前面两款,更推荐xcache。因为更快,社区更活跃。
对于上面说到的数据库部分的优化我们这里选用memcached。这里读数据会优先读取缓存,缓存没有会去数据库找数据,并存入缓存一份。我们还需要安装PDO_MYSQL插件,这个相当于sql语句php的封装。
接下来安装ImageMagick来处理图像,这个软件需要安装imagick php来使用。以上就把缓存优化需要的插件全都介绍完毕了。
首先我们要把上面安装的插件全都写到php.ini里,确保php生效。
eg.
extension=memcache.so
extension=pdo_mysql.so
extension=imagick.so
接下来配置php eaccelerator,请搜索该软件相关参数,之后按照需求把参数写入php.ini即可。xcache也同样,把配置文件相关参数写入php.ini即可。但是这两款软件只能选择其中一款,同时写入会冲突。
对于上述软件,类似画图或者数据库的插件,有需求装,没需求可以不装。像xcache或者eaccelerator性能优化的最好装上。
以上主要是针对php缓存方面的优化。
以上就介绍了lamp/lnmp优化1--缓存,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
上一篇: PHP 获取图片信息exif
下一篇: python中的生成器yield