首页 > 程序资源 > 一个PHP小数据缓存类,可见的控制缓存文件数量。

一个PHP小数据缓存类,可见的控制缓存文件数量。

自己写的一个文件缓存类,可以控制缓存碎片文件的数目。

前几天需要用到一个数据缓存的方法。

去网上找了一圈,发现大多数方法不是把所有的缓存数据都存到同一个文件。

或者就是把每条缓存记录都存到一个单独的文件。

然后,这些东西并不能达到我的要求。

于是想自己写一个自己用的缓存类。

PHP文件缓存。

参考ThinkPHP框架文件缓存的部分概念。

由于把所有的数据都存到一个缓存文件中,会导致文件越来越大,到了一定程度以后,反而会降低IO速度。

因为每次读写数据,都要把文件加载到内存,然后整理出来。在写入到文件。

而每个记录都存到单独的一个目录(ThinkPHP就是这样),确实挺好,

但是,时间久了,数据量很多的时候,单个目录下会有非常多的缓存文件。

磁盘IO效率又变得不高了,而且,单个目录下的文件数量是有限的。

我写的这个缓存类,会根据配置,把文件分散到一定数量的文件夹

而且能限制单个文件夹内的文件数量。

并且,这些数量是可以控制,可预见的。

数据达到一定量以后,肯定会保证只有这么多目录。这么多文件出现。

合理的控制数目,就可以达到尽可能高效的处理缓存了。

代码截图

Cache.class.php
01.jpg

Demo.php
02.jpg

欢迎各路大牛优化代码,修改代码。优化后也请再发我一份。谢谢。
链接: http://pan.baidu.com/s/1mgMN536 密码: b5fj

上一篇: 【PHP源码】超简易PHP离线批量挂QQ源码[0.2]

下一篇: 调戏骗子小计(好激动,终于有人要骗我了...)

  1. PHP新技术

  2. kevin kevin

    不太了解php ,尝试应用了下,效果很好,感谢作者无私风险,请教个小问题,不使用 fopen + flock去控制的话, 在高并发下读取会不会有问题?感谢回复

    1. 这个没有具体测试在极端情况下性能情况.一切都是基于原理假设的.
      大型项目还是更建议使用专业的解决方案.
      理论是读取时问题应该不大.
      然而实际上和理论还是有区别的.
      谢谢支持.

最近回复

标签