Discuz!的缓存同样分了主动缓存和被动缓存。从功能上来说,主动缓存一般用到管理员对全站的设置,等等需要手动更新的地方,这些地方的数据都有一个 特点,那就是它们的更新可能性很小,平时不需要自动更新;Discuz!的被动缓存,一般分布在诸如帖子内容显示,用户信息更新这些地方,这些地方的更新 基本上都是因为用户使用了某一特定的功能时所激发的。在正常运行的Discuz!系统文件夹里面会有一个forum
转载
精选
2011-12-30 11:43:48
1970阅读
Discuz!内存级缓存介绍 缓存层的引入是为了解决MYSQL自身对高并发处理的性能瓶颈,目前产品缓存层采用主流的Key-Value对形式,内存级的缓存产品很多,支持的内存优化接口有 Memcache、eAccelerator、Alternative PHP Cache(APC)、Xcache、Redis 五种,优化系统将会依据当前服务器环境依次选用接口,单服务器环境中推荐使用APC,多服务器环境
转载
2023-05-30 11:10:02
290阅读
目录 [隐藏]1 前言2 缓存类型2.1 模板缓存2.2 文件缓存2.3 数据缓存3 缓存原理4 缓存调用
前言缓存机制简单的说就是将一些重复操作的结果集保存下来,在收到同样的操作时直接从缓存的结果集中取出相应的数据直接使用,这样做的好处是降低重复性的解析或者SQL查询之类的动作,从而有效的缓解服务器的压力。 缓存类型在DiscuzX中用到了模板缓存、文件缓存、数据缓存的缓存方法。 模板缓存
转载
精选
2011-12-30 11:16:53
1235阅读
一、 DICUZ缓存机制分析: 使用缓存机制的目的很明显,降低服务器性能的消耗,
转载
2023-03-08 17:02:46
261阅读
简介:这是discuz x 1.5缓存机制分析的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。 class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=325737' scrolling='no'> 前面分析了DZX的执行流程,里面提到,在调用模板前DZ会准
转载
2024-10-31 19:22:32
18阅读
修改 function_core.php 文件vim discuz_x3.2/upload/source/function/function_core.php代码如下,添加红色字体function checktplrefresh($maintpl, $subtpl, $timecompare, $templateid, $cachefile, $tpldir, $file) {
原创
2023-03-07 10:23:22
176阅读
参考文档:<http://dev.discuz.org/wiki/index.php?title=缓存机制>Discuz中涉及数据缓存的地方有:1. session Dz的session只保存了登陆状态,不是我们理解的保存整个会话状态的概念2. cache3. syscache4. memory我们通常意义上的缓存应该是对应到discuz的memory这一块,其他的三项可能是历史遗留问
转载
2014-01-04 12:04:00
198阅读
2评论
Discuz!的缓存同样分了主动缓存和被动缓存。从功能上来说,主动缓存一般用到管理员对全站的设置,等等需要手动更新的地方,这些地方的数据都有一个 特点,那就是它们的更新可能性很小,平时不需要自动更新;Discuz!的被动缓存,一般分布在诸如帖子内容显示,用户信息更新这些地方,这些地方的更新 基本上都是因为用户使用了某一特定的功能时所激发的。
在正常运行的Discuz!系统文件夹里
转载
精选
2013-04-23 17:04:45
1846阅读
为什么要使用缓存?一个动态网站的基本权衡点就是,它是动态的。 每次用户请求页面,服务器会重新计算。从开销处理的角度来看,这比你读取一个现成的标准文件的代价要昂贵的多使用缓存,将多用户访问时基本相同的数据先缓存起来;这样当用户访问页面的时候,不需要重新计算数据,而是直接从缓存里读取,避免性能上的开销。使用Redis数据库使用redis数据库存储缓存,首先redis是key-value类型的
转载
2024-02-13 14:13:59
131阅读
前言:在PHP+MySQL架构的站点中,本文重点从MySQL的角度去分析如何使Discuz!论坛(或者类似的PHP+MySQL架构的程序)应对大访问量。同时给出一些使用Memcache去减轻MySQL压力的建议。其中很多数据是个人测试的结果,如有不同意见,敬请留言告之。另外由于个人思维的问题,行文比较跳跃,特此声明!
系统分析:单纯的从MySQL的角度出发,单台MySQL的数据库负载到每天上亿次
转载
2010-07-28 16:57:05
292阅读
在PHP+MySQL架构的站点中,本文重点从MySQL的角度去分析如何使Discuz!论坛(或者类似的PHP+MySQL架构的程序)应对大访问量。同时给出一些使用Memcache去减轻MySQL压力的建议。其中很多数据是个人测试的结果,如有不同意见,敬请留言告之。另外由于个人思维的问题,行文比较跳跃,特此声明!系统分析:单纯的从MySQL的角度出发,单台MySQL的数据库负载到每天上亿次的操作(每
转载
精选
2013-06-27 11:28:06
537阅读
一直很困惑于论坛的缓存更新中的extend_common.css和extend_module.css是如何被加载到模板缓存文件中的,看了看更新缓存的程序终于恍然大悟。呵呵,下面我们就来看看更新缓存的updatecache函数到底为我们做了些什么:
function updatecache($cachename = '') {
&n
原创
2012-03-12 23:46:58
596阅读
Discuz! 路径信息泄露 bugauthor: 80vul-Ateam:[url]http://www.80vul.com[/url]一 分析目录\uc_client\data\cache\,\forumdata\cache等下面的文件里对如:$_CACHE['settings'] = array ( 'accessemail' => '', 'censorema
转载
精选
2008-11-16 20:38:38
2214阅读
首先,每个页面都会加载以下两个类似的css:
data/cache/style_1_common.css
data/cache/style_1_forum_index.css
一、两个文件名的命名规则
转载
2011-12-07 00:49:52
820阅读
css
转载
2017-01-17 20:05:00
75阅读
2评论
    在之前的文章中,提到了在Discuz!NT中进行缓存分层的概念。之前在产品中也实现了其中的构想,但该方案有一个问题,就是如果将产品进行分布式布署之后,如果某一站点发生数据变化时,只能更新本地缓存和Memcached缓存信息,而其它分布式布署的站点则无法收到缓存数据已修改的‘通知’,导致数据不同步而成为‘脏数据’。
    虽然在之前的文章中提到通过将本地缓存失效时间‘缩短’(比如15秒后即失效),以便在相对较短的时间内让本地数据失效从而再次从Memcached读取最新的数据,但这必定不符合我们设计的基本思路,并且导致程序的运行效率低,同时会造成过于频繁的访问Memcached,无形中增加了与 Memcached的socket开销。所以才有了今天的这篇文章。
原创
2010-06-30 08:53:04
1626阅读
论坛头像是动态的,例如:http://xxx.xxx.xxx/avatar.php?uid=xxx&size=big 每个用户的头像文件都有big、middle、small三个,并且在不同场景分别调用不同尺寸的头像图片,比如帖子、个人设置、头像编辑、登陆等等场景,无形中增加了nginx与php之间的工作压力,如果能够把这个解析结果缓存起来,那么就会减少nginx与php的通信压力
原创
2015-03-10 16:28:08
1646阅读
源自:http://www.trindo.cn/show-48.htmlSubmitted by shinian315 on 2009, August 26, 10:24 AM. PHP一直都在使用discuz与supesite的缓存机制,大致机制清楚,但是没有系统的分析过 ,今天有空分析了下代码。主要是包含存放模板缓存文件的 forumdata文件夹 include下的template.func
转载
精选
2011-12-30 11:41:59
1163阅读
在以前的两篇文章(Discuz!NT 缓存设计简析, Discuz!NT中集成Memcached分布式缓存)中,介绍了Discuz!NT中的缓存设计思路以及如何引入Memcached,当然前者是IIS进程的缓存(本地缓存),后者是分布式内存对象缓存系统。两者通过Discuz!NT中的memcached.config文件中的ApplyMemCached结点的值来决定使用哪一种缓存方式。不过在之后,有朋友反映当使用Memcached时,特别是在大并发来时,效率会打折扣,甚至有很多时间会消耗在socket套接字(创建和传输方面)上。而事实上也的确如此,尽管Memcached在使用池化的方式初始化一定数量的套接字资源(之前测试时实始化为128个链接),在小并发(100左右)时,可能问题不大,但并发上了1000-2000时,其效率要比本地化缓存机制低1/3(loadrunner测试场景),比如loadrunner测试1000并发时,如果showtopic(显示主题),本地缓存处理时间为15秒,而使用memcached可能会达到25-35秒。
原创
2009-11-18 09:12:10
1217阅读
前言众所周知内存缓存(MemoryCache)数据是从内存中获取,性能表现上是最优的,但是内存缓存有一个缺点就是不支持分布式,数据在各个部署节点上各存一份,每份缓存的过期时间不一致,会导致幻读等各种问题,所以我们实现分布式缓存通常会用上Redis但如果在高并发的情况下读取Redis的缓存,会进行频繁的网络I/O,假如有一些不经常变动的热点缓存,这不就会白白浪费了带宽,并且读到数据以后可能还需要进行