0

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

当我搜索元素时,我有一个获取请求,并且我有一个这样的链接:

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(但我有大量数据)

当我返回不重新制作页面时,浏览器有什么办法吗?

谢谢

4

1 回答 1

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

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

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

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

希望这可以帮助。如果您刚开始使用它,您可以阅读有关所有类型的 codeigniter 缓存的更多信息。

于 2013-04-12T18:16:07.430 回答