PHP 性能 优化 缓存

在PHP中有的时候为了减少数据库的访问,常把有些数据内容以文件缓存的方式缓存到磁盘上。这是一种不错的方法,从某种角度来看。

但是这种问题有一些特别需要注意的弊病,php是以代码的方式缓存对象,一个对象如果有6个属性,你缓存了20条数据,那么你的缓存页面大概会有200行的代码

有的时候在某些页面连续缓存几个表是很正常的,那么你的缓存页面cache.php可能达到上千行的代码。

这个cache.php的代码虽然是以array的方式存在的,但是由于php是行解释模型,当文件的行太多的时候会非常影响性能。

举例来说:4个表*20条数据*10个字段=800 lines

所以这种对象模式的文件缓存是非常不好的

一种替换方案是非对象式的缓存,要么对数据自定义性的编码,要么格式化数据后缓存。

举例来说:

4个表每个表转换成一行数据,那么最多也才4行数据。在程序中利用内存的快速运算来重新处理比读大lines的文件快速很多。

对于这些表需要输出的页面,其实直接缓存为html最好不过了,这样连运算都省掉了。文件IO是很快的

 

利用缓存可以极大的减少开销,但是要合理和灵活的使用,否则反而走向误区。如果你对于性能方面有优化性的疑惑最好的方案就是多试多分析,慢慢就会找到解决方案

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值