Loading...

用javascript缓存ajax数据

2007-11-25 10:44:50 发表于HTML客户端, 网站技术 本文链接: 用javascript缓存ajax数据

我们都知道,ajax能提高页面载入的速度的主要原因是通过ajax减少了重复数据的载入,真正做到按需获取,既然如此,我们在写ajax程序的时候不妨送佛送到西,在客户端再做一次缓存,进一步提高数据载入速度。那就是在载入数据的同时将数据缓存在浏览器内存中,一旦数据被载入,只要页面未刷新,该数据就永远的缓存在内存中,当用户再次查看该数据时,则不需要从服务器上去获取数据,极大的降低了服务器的负载和提高了用户的体验。

下面举例子来说明如何实现的!为了简化ajax,示例中采用了jQuery,首先我们来看看一个常规的ajax例子。ajax.html中的内容如下:





page:1

data area


上面是完全没有任何缓存的ajax,用户翻页的时候都会去向服务器请求数据,当然某些浏览器如IE也自带有缓存功能,如上面代码的第九行,不过咱们得考虑到其他浏览器,所以最好自己设置缓存,上面的案例演示请看这里

下面是自带缓存的例子,基本思想是将已经load下来的数据存在javascript数组变量中,当再次遇到请求时,先检查该数据是否已经请求,是则直接调用内存中的数据,否则便向服务器请求数据。



page:1

data area

上面的代码简单的展示了如何合理的利用缓存提高速度和减轻数据重复载入对服务器的负载,上案例演示请看这里

缓存的介绍完毕,思路来源于我自己的bloggermap,有好建议的朋友,欢迎排砖.下一步我便打算将本站的留言ajax添加缓存功能.

标签:,
发表于 2007-11-25 10:44:50 目录:HTML客户端, 网站技术 [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
  • 相关阅读
  • homezz 美国专业主机商
    已经有4位大师动手指导 拒绝低俗
    • 1楼 nextway.cn 在2008.01.22 23:11发表评论如下: 回复

      不错!可以提高速度。
      我想问下cos,你的代码高亮用的是哪个插件?
      可否提供一份或者说一下插件名。谢谢!
      往我skyfocus@gmail.com发吧,反正我的gmail没有重要邮件,公布了也无所谓。

      搜索geshi,原来用的是coolcode,但是它加载的js和css文件太多了

      • 2楼 梗罚梗 在2008.03.17 16:30发表评论如下: 回复

        我怎么没有看到效果呢???

        • 3楼 wa 在2008.08.12 12:30发表评论如下: 回复

          需要什么插件呢?
          为什么我下载下来不能看呢? 能不能给我发一份可以运行的呢
          eamil: wangjian3q@163.com

          • 4楼 fanhuanla.com 在2011.03.31 16:31发表评论如下: 回复

            想法是不错的,我现在遇到一个问题是,如果数据非常的多,如何缓存呢?
            会不会让客户端内存溢出,没试过。
            还有缓存更新的问题,这个也是需要解决的。。

            评论分页: 1
            (Required)
            (Required, not published)
            如果留言未显示无需重复留言,我将为你恢复!