我有一个用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(但我有大量数据)
当我回去不重新翻页时,浏览器有办法吗?
由于
答案 0 :(得分:1)
我认为您可以使用codeigniter的页面缓存功能“$ this-> output-> cache(1);”
轻松实现它缓存结果(但每分钟我都要删除它) 您必须使用codeigniter的对象缓存方法来实现它。
创建sessionflashdata(但我有大量数据) 在会话中保存大量数据不是一个好主意。而是使用“数据库会话”,这将帮助您处理类似的方式,并且codeigniter具有集成支持。
希望这会有所帮助。如果您刚开始使用它,可以阅读有关all kind of codeigniter caching的更多信息。