列表格式显示

- 分类

广告招商中......
联系方式!

- 时间排序 更多...
    - 点击排序 更多...
      - 大小排序 更多...
        作者

         

        最近发布的软件 更多>>

        首页 >> >> >>Discuz的缓存体系 发布者:Private >> 本人发布的更多软件

        广告招商中...... 联系方式!

        Discuz的缓存体系 

        时间:2025-02-25 01:02:31      作者:Private     访问量:  
        ;开始下载地址

        Discuz的缓存体系



        参考文档:<http://dev.discuz.org/wiki/index.php?title=缓存机制>

        Discuz中涉及数据缓存的地方有:

        1. session Dz的session只保存了登陆状态,不是我们理解的保存整个会话状态的概念
        2. cache
        3. syscache
        4. memory

        我们通常意义上的缓存应该是对应到discuz的memory这一块,其他的三项可能是历史遗留问题,造成在使用时有较多的入口。

        先说session,Discuz的session是完全独立的,存放在数据库表 - common_session中,使用时需以$discuz->session->set('lastolupdate', TIMESTAMP);形式调用。表结构与一般缓存的key -> value形式很大不同。

        cache应该是最早的缓存机制,概念上应该有基于db和file的两种缓存机制,db模式数据默认放在数据表 - common_cache中,他的操作方式在source/class/db/cache_sql中有所体现,配置项为$_config['cache']['type'] = 'sql';, 但没有在代码中看到使用的地方,应该是被废弃了。file模式存放在data/cache下面,同样的,cache_file这个机制也应该是被废弃了,直接放到了函数库中。

        syscache 是专门针对系统各项设置包括插件的参数进行集中缓存处理的机制,数据默认先存在数据表 - common_syscache中,然后在使用时存入到file中进行加速。所以他是一项特定的东西,但3.0以下file的存放目录为data/cache,与cache的file模式存放的目录相同,比较容易让初入门者迷惑。

        memory中引入的机制,他的定义应该是能真正提高系统性能的缓存机制,如memcached、redis这类nosql的存储引擎。

        结论:

        经过分析后,发现cache 与 memory应该可以合并起来,即在source/class/memory目录(3.0)中加上file/db两种driver,将原来cache目录下的两个文件复制过来,简单的修改一下即可,同时function_core中对应的方法也要进行相应修改。

        涉及cache操作的方法在function_core.php 与function_cache.php两个文件中。

        functin_core.php:loadcache、cachedata;这里加载的指的是syscache,3.0中直接完全使用db的方式存放在common_syscache表中,放弃以前还要同步生成file缓存的做法。合并file、db两者引擎到memory中后,memory()应该就是日常缓存用户数据的唯一入口了,3.0以上由Core提供了全局mem对象。

        function_cache.php:updatecache、writetocache 同样指的是syscache,writetocache方法应该是一个残留的函数,它的作用是写入指定的缓存内容到file cache中。



        SC:简体中文(Simplified Chinese)

        TC:繁体中文(Traditional Chinese)



        本页Html网址:/htmlsoft/619504.html

        本页aspx网址:/soft.aspx?id=619504&bianhao=202502241005266330_45069&kind1=&kind2=

        最后访问时间:2025-04-27 07:49:09

        上一篇:discuz 登录过程

        下一篇:discuz 登录过程

        增加   


        相关评论        新窗口打开查看评论