您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz的缓存体系
翠萱2025-07-14Discuz教程已有人查阅
导读1.session Dz的session只保存了登陆状态,不是我们理解的保存整个会话状态的概念我们通常意义上的缓存应该是对应到discuz的memory这一块,其他的三项可能是历史遗留问题,造成在使用时有较多的入口。
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中有所体现,配置项为
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中。
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中。
本文标签:
很赞哦! ()
相关教程
图文教程
discuz回贴通知插件实现页面嵌入点
1、如何保证主题被回复时业务代码被执行。 2、获得主题,主题发布者,贴子等信息。3、discuz发送email邮件。
去掉discuz版权的方法
去掉discuz版权的方法:1、找到并打开“header_common.htm”文件,删掉“Powered by Discuz!”内容;2、找到并打开“footer.htm”文件,删掉“Powered by ME”内容即可。
Centos7搭建discuz论坛步骤教程
systemctl status httpd (状态为active runging是启动)netstat -nutlp查看端口是否存在80端口,这个命令需要自己安装(yum install -y net-tools)
freebsd+apache+mysql+php+phpmyadmin+zend+discuz傻瓜式教程
刚接触linux是今年4月的事情,装过不少linux发行版本,最终还是选择了unix中的freebsd,喜欢它的简洁。不过我也是初学者,将这10多天学freebsd的经验总结给大家分享
相关源码
-
(PC+WAP)红色家装设计智能家居家具建材pbootcms网站源码下载本模板基于PbootCMS系统开发,为智能家居、家装设计及家具建材行业设计。采用现代化布局风格,突出家居设计行业特色,适合展示各类家居产品、设计方案和建材信息。查看源码 -
帝国cms题库问答学习平台模板知识付费网站源码+数据采集为教育机构、培训平台及在线学习场景设计,提供完整的题库管理与问答服务解决方案。支持多种题型展示与答案查询,满足不同层次的学习需求。查看源码 -
(自适应响应式)HTML5甲醛环境检测网站模板带在线留言和资料下载本模板为甲醛检测与环保科技企业开发,采用PbootCMS内核构建。首页集成空气质量数据可视化模块,服务流程采用时间轴展示设计,检测报告板块支持PDF在线预览功能查看源码 -
响应式电脑维修办公用品维护pbootcms网站模板模板介绍(自适应手机版)响应式电脑修理公司pbootcms网站模板-蓝色HTML5电脑修理维修店网站源码下载PbootCMS内核开发的营销型网站模板,该模查看源码 -
(自适应)刷卡pos机数据移动支付设备电子科技pbootcms模板下载本模板为POS机设备制造商、移动支付终端服务商和科技企业设计,基于PbootCMS系统开发,提供完整的在线展示平台解决方案,满足支付设备行业特有的展示需求。查看源码 -
(自适应)挖掘机大型采矿设备pbootcms网站源码下载本模板基于PbootCMS系统开发,专为重型机械设备行业设计,特别适合挖掘机、采矿设备、工程机械等工业设备展示。采用响应式布局技术,确保各类设备参数和图片在不同终端上都能清晰展示。查看源码
| 分享笔记 (共有 篇笔记) |
