缓存是一种计算机哲学,几乎所有的地方都使用了缓存的理论.
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没有使用,只要是编译时期的一些缓存机制,对大型网站来说,效果有限,大型网站拼的是架构.
Phpcms源码学习之缓存
缓存是一种计算机哲学,几乎所有的地方都使用了缓存的理论. phpcms中使用三种缓存的策略,一个是基于file的,一种是apc,一种是基于memcache,memcache在今天已经不是很好的解决方案,很容易造成内存的碎片,加重服务器的负担,据说新版本大改了下,但是现在redis冒
本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jianzhan/jy/2021/1218/40167.html