缓存技术浅析
操作系统磁盘缓存 减少磁盘机械操作
数据库缓存 减少文件系统I/O
应用程序缓存 减少对数据库的查询
Web服务器缓存 减少应用服务器请求
客户端浏览器缓存 减少对网站的访问
对数据库查询结果集进行缓存,类似数据库的Query Cache
适用于一些耗时,但是时效性要求比较低的场景。查询缓存和对象缓存适用的场景不一样,是互为补充的
当查询结果集涉及的表记录被修改以后,需要注意清理缓存
页面缓存的作用是什么?
针对页面的缓存技术不但可以减轻数据库服务器压力,还可以减轻应用服务器压力
好的页面缓存可以极大提高页面渲染速度
页面缓存的难点在于如何清理过期的缓存
页面缓存技术有哪些?
动态页面静态化 利用模板技术静态化,请求直接访问静态页面。可以使用AJAX请求弥补动态页面静态化后的某些缺点;
Servlet缓存
页面局部缓存
<script language="JavaScript">
# <!--
# var cache_data = new Array();//定义全局变量用来保存缓存数据
# function gopageCache(option,obj){
# var page = $("#page2").html() * 1;
# if(option == '+'){
# page ++ ;
# var url = "data.php?page="+page + "&r="+Math.random();
# }else{
# page --;
# if(page < 1)page =1;
# var url = "data.php?page="+page + "&r="+Math.random();
#
# }
# /*下面是缓存增加的部分*/
# if( (cache_data[page] !=null) && (cache_data[page].length > 1) ) {
# //如果缓存存在,则直接调用缓存数据,不用再去服务器进行数据请求
# alert('cache hit');
# $("#data2").html(cache_data[page]);
# $("#page2").html(page);
# return true;
# }
# $("#page2").html(page);
# obj.disabled = true;
# $("#data2").html("loading(cache enabled)...");
# $("#data2").load(url,
# {limit: 25},
# function(responseText) { obj.disabled = false;
# cache_data[page] = responseText;//将当前的数据存入到内存(缓存变量)中 }
# );
#
# }
#
# //-->
# </script>
# <input value="<" onclick="gopageCache('-',this)" type="button">
# <input value=">" onclick="gopageCache('+',this)" type="button">
# page:<span id="page2">1</span>
# <div style="border: 2px solid red; padding: 2px;" id="data2">data area</div>