【问题标题】:How to clear cache, reload current page in a given time?如何清除缓存,在给定时间内重新加载当前页面?
【发布时间】:2012-11-05 23:12:00
【问题描述】:

如何在yii框架中清除缓存并在给定时间内自动重新加载页面? 比如在接下来的 5 小时内,页面的内容应该在清除缓存之前更改,然后重新加载页面

$time = date('h:i:s A', strtotime("+5 hours"));

然后在接下来的 5 小时内,它会再次清除缓存并重新加载同一页面并显示新内容

【问题讨论】:

  • 你是说yii的缓存吗?你的意思是什么缓存?

标签: php jquery yii


【解决方案1】:

如果我能很好地理解这个问题。

在你的 Yii 视图中,在 javascript 中添加类似这样的内容

<script>
 setTimeout(function(){ window.location = "<URL>";}, 5*60*1000);
</script>

这是 5 分钟后的重定向。如果你想要 5 小时,只需使用

300*60*1000

并将 URL 指向您想要的 www.example.com/controller/action。

如果您仍然想在 php 中执行此操作,我相信您可以将此行添加到您的视图中。

<?php header("Refresh: 18000; URL=http://www.example.com/controller/action"); ?>

这里 18000 以秒为单位。

希望对你有帮助。

但如果您只是更新视图的一小部分......为什么不创建一个计时器来向您想要更新数据的控制器/动作发出 ajax 请求? Yii 已经为这种需求做好了准备。

【讨论】:

  • 清除缓存怎么样?,因为页面本身正在缓存在 yii 框架中
  • 如果数据改变了 Yii 并且你使用的缓存系统会知道。在较短的时间范围内尝试上述示例,例如 2 分钟。看看它是否有效。我们不是将服务器端缓存与用户浏览器缓存混淆了吗?!
  • 你在 Yii 中使用了什么缓存组件? CMemCache?
猜你喜欢
  • 2011-12-09
  • 2022-01-24
  • 2014-01-18
  • 2011-05-21
  • 1970-01-01
  • 2019-02-22
  • 2016-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多