Codeigniter缓存页面

时间:2013-04-12 16:25:40

标签: codeigniter session caching architecture

我有一个用codeigniter开发的网站 在页面搜索中,我有一个表单,当我编译它时,我向CURL发送一个请求,并返回一个xml。 此查询和打印日期大约是15秒,因为我必须使用许多服务器进行更多查询,这次是必要的 但问题是:我有一个元素列表,当我点击一个元素时,我会进行查询以检索元素的数据。
但是,如果我单击返回或单击以返回搜索的所有元素,我不想进行其他需要15秒的查询。

当我搜索元素时,我有一个get请求,我有一个这样的链接:

http://myurl/backend/hotel/hotel_list?nation=94&city=1007&check-in=12%2FApr%2F2013&check-out=13%2FApr%2F2013&n_single_rooms=1&n_double_rooms=0&n_triple_rooms=0&n_extra_beds=0

我加载了页面,我可以拥有更多元素。我在这样一个简单的链接中点击其中一些:

http://myurl/backend/hotel/hotel_view?id_service=tra_0_YYW

当我进入此页面时,我必须返回上一个url(第一个)而不重新制作需要更多秒数的查询。 我无法缓存结果,因为它是一个实时数据库并且每分钟或每秒更改一次,但我想当我进入它时缓存页面搜索,如果我回到它,如果时间小于2分钟,则从缓存重新加载例如,
这是一个好方法还是在codeigniter中有更多的执行方式?
我不能参加会议,因为有大量数据。

另一个解决方案是:
- 缓存页面(但每分钟我都要删除它)
- 缓存结果(但每分钟我都要删除它)
- 创建sessionflashdata(但我有大量数据)

当我回去不重新翻页时,浏览器有办法吗?

由于

1 个答案:

答案 0 :(得分:1)

  • 缓存页面(但每分钟我都要删除它)

我认为您可以使用codeigniter的页面缓存功能“$ this-> output-> cache(1);”

轻松实现它
  • 缓存结果(但每分钟我都要删除它) 您必须使用codeigniter的对象缓存方法来实现它。

  • 创建sessionflashdata(但我有大量数据) 在会话中保存大量数据不是一个好主意。而是使用“数据库会话”,这将帮助您处理类似的方式,并且codeigniter具有集成支持。

希望这会有所帮助。如果您刚开始使用它,可以阅读有关all kind of codeigniter caching的更多信息。