请教SMARTY 发帖后clearCache 文章列表的逻辑
文章列表的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的?
这与你的具体应用是有关系的
论坛总是要把新帖和有新回复的放在前面,以引起注意
所以缓存就没有意义了
这与你的具体应用是有关系的
论坛总是要把新帖和有新回复的放在前面,以引起注意
所以缓存就没有意义了
明白了

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1. 오늘 Toutiao에 기사를 게시하여 어떻게 돈을 벌 수 있습니까? 오늘 Toutiao에 기사를 게시하여 더 많은 수입을 얻는 방법! 1. 기본 권익 활성화: 기사의 원본은 광고를 통해 수익을 얻을 수 있으며, 동영상은 가로 화면 모드에서 원본이어야 수익을 얻을 수 있습니다. 2. 팬 100명 권리 활성화: 팬 수가 100명 이상에 도달하면 마이크로 헤드라인, 오리지널 Q&A 작성, Q&A 수익을 얻을 수 있습니다. 3. 독창적인 작품을 고집하라: 독창적인 작품에는 기사, 마이크로 헤드라인, 질문 등이 포함되며, 300단어 이상이어야 합니다. 불법 표절 저작물을 원작으로 출판할 경우 크레딧 점수가 차감되며, 수익금도 차감되므로 주의하시기 바랍니다. 4. 수직성: 전문 분야에서 기사를 작성할 때 분야를 넘나들며 마음대로 기사를 작성할 수 없으며 적절한 추천을 받을 수 없으며, 작품의 전문성과 정확성을 확보할 수 없으며 팬을 유치하기가 어렵습니다. 그리고 독자들. 5. 활동: 높은 활동,

오늘 저는 두 가지 팁을 공유하고 싶습니다. 첫 번째 팁은 출력 로직을 늘리고 프레임워크 로직을 더 명확하게 만들 수 있습니다. 먼저 사용자 성장 분석 시스템을 예로 들어 일반적인 상황에서 GPT의 출력을 살펴보겠습니다. 다음으로 간단한 명령을 추가하고 효과를 비교하고 살펴보겠습니다. 효과가 더 좋습니까? 물론 논리는 매우 명확합니다. 위의 출력은 실제로 그 이상입니다. 이는 단지 예일 뿐입니다. GPT가 선임 Python 엔지니어 역할을 하여 제가 학습 계획을 작성할 수 있도록 도와드리겠습니다! 질문하실 때, 질문 뒤에 다음 문장을 추가해주세요! 단계별로 생각해보자. 기사를 더 높은 수준으로 끌어올릴 수 있는 두 번째 실용적인 명령을 살펴보겠습니다. 예를 들어 여기에서 GPT에 작업 보고서 작성을 요청해 보겠습니다.

이번 글에서는 HTML5에 글을 추가하는 방법에 대해 알아보겠습니다. HTML5의 새로운 분할 요소 중 하나는 태그입니다. 기사는 태그를 사용하여 HTML로 표시됩니다. 보다 구체적으로 말하면 요소 내에 포함된 콘텐츠는 사이트의 나머지 콘텐츠와 다릅니다(관련이 있을 수 있음에도 불구하고). HTML5에 기사를 추가하는 방법을 이해하기 위해 다음 예를 고려해 보겠습니다. 예 1 다음 예에서는 기사 요소에 인라인 스타일을 사용하고 있습니다. <!DOCTYPEhtml><html><body><articlestyle="width:300px;border:2pxsolidgray;padding:

Java의 논리 취약점 방지 소프트웨어 개발에서 논리 취약점은 일반적인 보안 문제입니다. 프로그램 논리에 오류나 설계 결함이 있는 경우 공격자는 이러한 취약점을 이용하여 프로그램의 보안 메커니즘을 우회하고 악의적인 작업을 수행할 수 있습니다. 널리 사용되는 프로그래밍 언어인 Java는 논리적 허점 방지에도 주의가 필요합니다. 이 기사에서는 몇 가지 일반적인 Java 논리 취약점을 소개하고 해당 예방 조치를 제공합니다. 1. 경쟁 조건 방지 경쟁 조건은 프로그램이 특정 상태에 있을 때 다른 스레드가 이 상태를 수정한다는 것을 의미합니다.

Ethereum의 확장에 대한 @VitalikButerin의 새 기사 생각을 어떻게 이해합니까? 어떤 사람들은 Vitalik의 Blob Inscription 주문이 터무니없다고 말합니다. 그렇다면 Blob 패킷은 어떻게 작동합니까? 칸쿤에서 업그레이드한 후 Blob 공간이 효율적으로 사용되지 않는 이유는 무엇입니까? 샤딩 준비를 위한 DAS 데이터 가용성 샘플링? 제 생각엔 칸쿤의 성능은 업그레이드 이후에 쓸만할 것 같은데, 비탈릭은 롤업의 발전을 고민하고 있습니다. 왜? 다음으로 내 이해에 대해 이야기하겠습니다. 이전에 여러 번 설명했듯이 Blob은 EVM 호출 데이터에서 분리되어 합의 계층에서 직접 호출할 수 있는 임시 데이터 패키지입니다. 직접적인 이점은 EVM이 Blob에 액세스할 필요가 없다는 것입니다. 트랜잭션을 실행할 때 실행 계층 계산이 낮아집니다.

1. 휴대폰을 열고 WeChat 소프트웨어를 클릭한 후 WeChat 홈페이지 설정으로 들어갑니다. 2. 위챗 우측 하단의 [내]를 찾아 열어 [내] 페이지로 들어갑니다. 3. 컬렉션을 클릭한 후 새 페이지를 엽니다.

오토홈 앱은 무료이고 정품인데, 특히 사용자들의 최신 자동차 정보 등을 느낄 수 있기 때문에 많은 사용자들이 원하는 자동차를 빠르게 찾을 수 있습니다. 좀 더 편안하고 편안하게 채팅, 시청 등을 즐길 수 있어서 좋습니다. 포스팅을 올리는 것도 좋습니다. 오늘은 간단하게 설명드리겠습니다. 오토홈 게시에 대한 구체적인 지침: 1. 오토홈을 엽니다. 2. 하단의 포럼을 클릭합니다. 3. 주제를 클릭하고 게시하려는 주제를 선택합니다. 4. 오른쪽 하단의 더하기 기호를 클릭합니다. 코너에 글을 작성하시면 됩니다. 5 .오른쪽 상단의 게시를 클릭하시면 성공적으로 게시됩니다.

Vue에서 라우팅을 사용하여 로그인 인증 및 페이지 점프 논리를 구현하는 방법은 무엇입니까? 개요: Vue에서 라우팅(VueRouter)은 페이지 간 이동 및 관리에 도움이 되는 매우 중요한 도구입니다. 하지만 실제 개발에서는 사용자가 로그인하지 않은 상태에서 승인이 필요한 페이지에 접근할 수 없도록 로그인 인증 기능을 추가해야 하는 경우가 많습니다. 이 기사에서는 VueRouter를 사용하여 로그인 인증 및 페이지 점프 로직을 구현하는 방법을 소개하고 관련 코드 예제를 제공합니다. 1단계: V 설치 및 구성
