Phpcms源码学习之缓存
发布时间:2021-12-19 01:17:06 所属栏目:经验 来源:互联网
导读:缓存是一种计算机哲学,几乎所有的地方都使用了缓存的理论. phpcms中使用三种缓存的策略,一个是基于file的,一种是apc,一种是基于memcache,memcache在今天已经不是很好的解决方案,很容易造成内存的碎片,加重服务器的负担,据说新版本大改了下,但是现在redis冒失
缓存是一种计算机哲学,几乎所有的地方都使用了缓存的理论. phpcms中使用三种缓存的策略,一个是基于file的,一种是apc,一种是基于memcache,memcache在今天已经不是很好的解决方案,很容易造成内存的碎片,加重服务器的负担,据说新版本大改了下,但是现在redis冒失性能更优越些. phpcms的缓存配置文件: return array ( 'file1' => array ( 'type' => 'file', 'debug' => true, 'pconnect' => 0, 'autoconnect' => 0 ), 'template' => array ( 'hostname' => '210.78.140.2', 'port' => 11211, 'timeout' => 0, 'type' => 'memcache', 'debug' => true, 'pconnect' => 0, 'autoconnect' => 0 //Cuoxin.com ) ); cache_factory.php使用这个配置文件,说实话phpcms的代码质量我一直不敢恭维,单例模式的构造方法竟然是public,类的成员变量竟然动态声明,类的实例化是new classname,注意没有()...我就不一一吐槽了,不过类的设计倒是挺好的,单一职责. phpcms默认的缓存模式是文件缓存 cache_file.php,后缀名是.cache.php,缓存格式是数组,对象使用了序列化,看到这也差不多知道了它的缓存的设计了,该类有写入缓存,读取缓存,删除缓存等方法,对我们学习缓存的设计还是有很多帮助的. 奇怪的是它把缓存的信息写入了数据库中,生成缓存和删除缓存和数据库进行了交换,使用缓存没有使用,唯一的解释就是后台管理平台使用这些数据,网站端不使用这些东西. phpcms另一个缓存模式是memcache,这个种key-value的内存缓存,使用起来非常的简单就没有说的必要了. 还一个apc是打酱油,phpcms没有使用,只要是编译时期的一些缓存机制,对大型网站来说,效果有限,大型网站拼的是架构. (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |