首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有零停机时间的平面文件缓存

具有零停机时间的平面文件缓存
EN

Stack Overflow用户
提问于 2011-12-01 01:51:27
回答 2查看 500关注 0票数 1

每次新的内容被张贴到我的网站,我重新生成平面文件缓存为我的网站的前5页。这很好,并且大大减少了服务器的负载。

问题是每次重新生成文件缓存时,我都会看到流量略有下降,大概是因为在2500个浏览站点的2500人中,有一些人看到了一半生成的页面,这大概是因为一些小的,但不可忽略的。

我想知道在php中生成这些缓存页面的更好方法是什么,而不会让用户看到半写的页面。

编辑:

下面是我的.htaccess文件中决定是否加载缓存文件的部分:

代码语言:javascript
复制
RewriteCond %{HTTP_COOKIE} (user)
RewriteRule (.*)? - [S=3] # Skip the below 2 lines if the above test passes
RewriteRule ^$ app/webroot/cache_static_html/cache_static_popular_results_1.php [L]
RewriteRule ^popular/page:([2-9])$ app/webroot/cache_static_html/cache_static_popular_results_$1.php [L]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-01 02:01:49

当您执行一个明确的缓存时,Symfony也会受到同样的困扰。为了避免这个问题,我们预先加热了缓存。请考虑以下几点:

  • 创建临时目录(请确保设置正确的权限):cache_temp
  • 添加代码以识别触发器。如果触发器可用,则将缓存dir设置为cache_temp (而不是cache_current)。通过http:http://mydomain.com?prewarm=1
  • The代码将知道如何生成cache_temp中的所有缓存文件,而不是cache_current
  • Rename cache_current to cache_old
  • Rename cache_temp to cache_current
  • Delete cache_old
票数 0
EN

Stack Overflow用户

发布于 2011-12-01 01:54:46

我建议也许使用memcache解决方案。看来您可以非常快地编写缓存,而不必使用平面文件方法。回忆吧!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8335631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档