加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

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没有使用,只要是编译时期的一些缓存机制,对大型网站来说,效果有限,大型网站拼的是架构.

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读