文章列表的samrty代码如下
$smarty -> setCacheDir(ROOT_PATH."/cache/forum");$smarty -> display("$module/list.html",$_SERVER["REQUEST_URI"]);
ROOT_PATH = 我的根目录
$module = 我PHP开头会自定当前是什么模组,自己找模板中的子目录
因为文章多, 架构多, 不同的模组也多...所以想到把cache 和 template都做成子目录
template子目录为了方便找文件
cache子目录...是因为怕同一个目录中文件过多,分子目录也会以便我按照不同的模组清理缓存
我在display加入了一句:$_SERVER["REQUEST_URI"]
因为是分页,还有可能是其他的变量
我页面上暂时最多有可能有3个参数 list.php?fid=1&type=20&page=3
fid=栏目 (必定有)
type=主题分类 (看情况, 有些页面有, 有些页面没有)
page=当前页面 (必定有)
因为参数不同,所以也可能生成不同的文件
使用smarty主要就是为了减轻数据库压力
问题一.
我在一个名为post.php的页面发表文章
发表完成时会有一些基本的数据,好比$fid = 1 (栏目id),我就想用此栏目id,把当然栏目的cache 清理
就是这个: list.php?fid=1&type=20&page=3
有办法有所有fid = 1有关的都清理吗?
就是只要fid = 1 ,不管其他参数type=100还是type=5,还有所有page=xxx的都更新吗?
问题二.
SMARTY官方 和网上搜到的简介....
清空CACHE只有这一句
clear_cache('index.tpl',cache_id);//清除指定id的缓存
并不能清空指定的目录
因为上面也解释过我是有用模板子目录的
问题三.
经验一问
如果我想更实时一点,网站又蛮多人上的,我把解决问题一和问题二,反而把samrty cache时间设成10秒
那如果是一个长期有500~2000人的网站,用户常常留言/交流的网站
我设成10秒左右的缓存会不会比起不缓存更大压力???
我这种情况大家会把流量写得更...每次回帖/发文章都清空缓存,还是直接放弃缓存?
不好意思,已经没什么分献给各位大哥了
诚心求学
回复讨论(解决方案)
一直变化的不建议使用缓存,也可以采用像QQ空间那样用ajax来加载。这个只是我的愚见。
比?奇怪,既然你比?注重的是??,那就不?用?存了。
即使要用?存,那都需要每?行完一?事件後,??的?存就必?重新生成。才能?到??的效果。
?於文章列表,如果你一天?,每分?都?增加或修改新文章的。那?存的作用就不大。
如果是一天?,可能新增的文章?修改?不多。那可以在後?做一?功能。?用?清一次列表的?存。
其?保存?存的路?,目???你都知道,完全可以自己?一?清cache的???啊,?甚?要??用smarty自?的呢?
smarty是按cacheid做判?的,不?合你的情?。
比较奇怪,既然你比较注重的是实时,那就不应用缓存了。
即使要用缓存,那都需要每执行完一个事件后,对应的缓存就必须重新生成。才能达到实时的效果。
对于文章列表,如果你一天内,每分钟都会增加或修改新文章的。那缓存的作用就不大。
如果是一天内,可能新增的文章与修改数不多。那可以在后台做一个功能。调用则清一次列表的缓存。
其实保存缓存的路径,目录规则你都知道,完全可以自己写一个清cache的类实现啊,为甚么要纠结用smarty自带的呢?
smarty是按cacheid做判断的,不适合你的情况。
所以我在想
我的列表像论坛一样,按照最新回覆排列
如果每分钟...甚至每10~20秒都有人回覆.....而列表又有30~40页的话
每10~20秒都要清理一次CACHE
不管是 回覆文章后的满足条件而清理, 还是自动设定CACHE有效时间为15秒
要不停的清理缓存文件...然后而生成缓存....是否都比起不缓存更加重主机负担???
自推一把,求建议
列表页缓存应在相关文章添加时删除
列表页缓存可在再次访问时自动生成,也可在文章发布后主动生成
如果是采用后者,那么列表页可直接为静态,或缓存永不过期。以减少检查缓存是否过期的开销
列表页缓存应在相关文章添加时删除
列表页缓存可在再次访问时自动生成,也可在文章发布后主动生成
如果是采用后者,那么列表页可直接为静态,或缓存永不过期。以减少检查缓存是否过期的开销
谢谢你
但如果大约每分钟都有2~3个回覆
列表是以最新回覆排序
如果列表已有30~40分
每次排序不是也要删除再生成30~40页页吗?
你建议使用CACHE吗?
你的列表是论坛的帖子列表吗?这一点你并没有说明噢
如果是,在不需要缓存
如果是文章列表,可以缓存。因为回覆不影响列表顺序。至多影响到“最新动态”列表
主动生成列表页或清除缓存时,都是以导航条跨距为限的
因为访问超出导航条跨距的页面时,缓存早就已经过期了
如果两三分钟就用新文章上线,就表示这个网站活动频繁。所以缓存就是非常必要的了
你的列表是论坛的帖子列表吗?这一点你并没有说明噢
如果是,在不需要缓存
如果是文章列表,可以缓存。因为回覆不影响列表顺序。至多影响到“最新动态”列表
主动生成列表页或清除缓存时,都是以导航条跨距为限的
因为访问超出导航条跨距的页面时,缓存早就已经过期了
如果两三分钟就用新文章上线,就表示这个网站活动频繁。所以缓存就是非常必要的了
其实系统和论坛几乎就是一样了
因为其他功能关系到会员权和积分,所以没用别人的,只能自己做个简单的
是自己用PHP+SMARTY做的
如果是论坛列表就不用缓存了?
只要回覆会影响到排名...就不建议做缓存了是吧?
顺道一问,不知大家了不了解,DZ,PW他们是不是只有首页做了cache,列表文章都没有cache的?
这与你的具体应用是有关系的
论坛总是要把新帖和有新回复的放在前面,以引起注意
所以缓存就没有意义了
这与你的具体应用是有关系的
论坛总是要把新帖和有新回复的放在前面,以引起注意
所以缓存就没有意义了
明白了

PHP仍然流行的原因是其易用性、灵活性和强大的生态系统。1)易用性和简单语法使其成为初学者的首选。2)与web开发紧密结合,处理HTTP请求和数据库交互出色。3)庞大的生态系统提供了丰富的工具和库。4)活跃的社区和开源性质使其适应新需求和技术趋势。

PHP和Python都是高层次的编程语言,广泛应用于Web开发、数据处理和自动化任务。1.PHP常用于构建动态网站和内容管理系统,而Python常用于构建Web框架和数据科学。2.PHP使用echo输出内容,Python使用print。3.两者都支持面向对象编程,但语法和关键字不同。4.PHP支持弱类型转换,Python则更严格。5.PHP性能优化包括使用OPcache和异步编程,Python则使用cProfile和异步编程。

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

PHP在现代化进程中仍然重要,因为它支持大量网站和应用,并通过框架适应开发需求。1.PHP7提升了性能并引入了新功能。2.现代框架如Laravel、Symfony和CodeIgniter简化开发,提高代码质量。3.性能优化和最佳实践进一步提升应用效率。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Dreamweaver Mac版
视觉化网页开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能