当前位置:编程学习 > JAVA >>

一个度娘解决不了的问题,望牛人解答。

前台一次性加载完数据,然后在刷新页面不会向数据库发送请求了,数据还是能加载,请问怎么实现。 java web --------------------编程问答-------------------- 什么意思,没看明白。是异步取数据吗? --------------------编程问答-------------------- 加入前台是个树,我一次性加载完了。
然后,我在刷新页面,不会向后台数据库再次发送查询语句了,而前台页面正常加载,请问怎么实现 --------------------编程问答-------------------- 刷新页面,不会向后台数据库发送查询语句---如果只是这样的话,那应该是后台做了缓存吧..  --------------------编程问答-------------------- 这是我的想法,你看看行不。我假如在前台页面用jquery构造了一个ztree。把ztree放到一个div中。在页面加载的时候通过jquery判断这个div中有没有值,如果没有就用ajax去获取数据,构造ztree,要是这个div中有数据就不在执行,这样就会去访问数据库了。你试试这种方法可行不。 --------------------编程问答-------------------- 这个是今天项目经理让我想的,这是一个优化方面的,就是减少数据库的访问量,用的就是ztree,就是一次性加载,在刷新无加载,他跟我说跟static的机制差不多,可我没想明白,求解。 --------------------编程问答-------------------- OSCache --------------------编程问答-------------------- 如果只是不查数据库,可以用OSCache等缓存机制。
如果不想从服务器下载数据,那就只能在浏览器的Cookies里保存数据了。 --------------------编程问答--------------------
引用 5 楼 u011227128 的回复:
这个是今天项目经理让我想的,这是一个优化方面的,就是减少数据库的访问量,用的就是ztree,就是一次性加载,在刷新无加载,他跟我说跟static的机制差不多,可我没想明白,求解。


就是让你用缓存 ~~  --------------------编程问答-------------------- 前台一次性加载完数据,(所有需要的数据查询数据库)
(把这些数据放入缓存里 ehcache memcached等缓存服务)
然后在刷新页面不会向数据库发送请求了,(网页刷新请求都是从缓存中去取数据)
(数据在加载回来)
(更新数据库的时候再对缓存中的数据更新)

一般常用于首页,查询页等数据量大的页面.基本上是这个流程.访问量大的可以采用缓存集群


static 也可以   不过大数据量还是选择一个缓存架构比较好.
下面手写代码只是个例子

public static List<String> cahcheList = null;

public String excute(){
    //执行返回数据给前台

    List<String> returnList = getData();

}

public List<String> getData(){
   if(null != cacheList){
          return cacheList;
   }else{
      cacheList = getDataFromDB();
      return cacheList;
   }
}

public List<String> getDataFromDB(){
    //从数据库获取数据返回
    List<String> list = new ArrayList<String>();
    list.add("a");
    list.add("b");
    list.add("n");
    return list;
}


不过看你的需求  大概static 就可以了..数据量不是很大
不过有更新/添加/或者删除你都需要维护这个static 的缓存变量. --------------------编程问答-------------------- HTML5本地存储 --------------------编程问答--------------------
引用 5 楼 u011227128 的回复:
这个是今天项目经理让我想的,这是一个优化方面的,就是减少数据库的访问量,用的就是ztree,就是一次性加载,在刷新无加载,他跟我说跟static的机制差不多,可我没想明白,求解。



static 言外意就是  启动服务器就进行查询    乱猜的 --------------------编程问答-------------------- 刷新页面本地的树结构是肯定会没有的除非你自己做了缓存,好像就10楼说到关键的地方了,浏览器做缓存的只有cookie和html5的本地存储。可是这好像不是楼主要的东西。
不在本地存的话,刷新,不加载,是不可能的! --------------------编程问答-------------------- 1.用数据库缓存
2.用程序把树可以写成静态文件(html) --------------------编程问答-------------------- 数据与页面分离,使用xml传送数据,这样可以对数据单独缓存 --------------------编程问答-------------------- 就直接缓存在后台,保存在前台不安全啊,而且也不好做更新操作嘛 --------------------编程问答-------------------- 前台是指客户端 --------------------编程问答-------------------- 利用cache技术!
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,