Java缓存是什么

Java缓存是什么

ID:47513492

大小:15.59 KB

页数:4页

时间:2019-09-12

Java缓存是什么_第1页
Java缓存是什么_第2页
Java缓存是什么_第3页
Java缓存是什么_第4页
资源描述:

《Java缓存是什么》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java缓存是什么一、什么是缓存  1、Cache是高速缓冲存储器一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问武汉Java培训  2、凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache  二、缓存的分类  1、基于web应用的系统架构图  2、在系统架构的不同层级之间,为了加快访问速度,都可以存在缓存  操作系统磁盘缓存->减少磁盘机械操作  数据库缓存->减少文件系统I/O  应用程序缓存->减少对数据库的查询  Web服务器缓存->减少

2、应用服务器请求  客户端浏览器缓存->减少对网站的访问  三、操作系统缓存  1、文件系统提供的DiskCache:操作系统会把经常访问到的文件内容放入到内存当中,由文件系统来管理  2、当应用程序通过文件系统访问磁盘文件的时候,操作系统从DiskCache当中读取文件内容,加速了文件读取速度  3、DiskCache由操作系统来自动管理,一般不用人工干预,但应当保证物理内存充足,以便于操作系统可以使用尽量多的内存充当DiskCache,加速文件读取速度  4、特殊的应用程序对文件系统DiskCache有很

3、高的要求,会绕开文件系统DiskCache,直接访问磁盘分区,自己实现Disk  5、Cache策略  Oracle的rawdevice(裸设备)–直接抛弃文件系统  MySQL的InnoDB:innodb_flush_method=O_DIRECT  四、数据库缓存  1、重要性  数据库通常是企业应用系统最核心的部分  数据库保存的数据量通常非常庞大  数据库查询操作通常很频繁,有时还很复杂  以上原因造成数据库查询会引起非常频繁的磁盘I/O读取操作,迫使CPU挂起等待,数据库性能极度低下  2、缓存策

4、略  a、QueryCache  以SQL作为key值缓存查询结果集  一旦查询涉及的表记录被修改,缓存就会被自动删除  设置合适的QueryCache会极大提高数据库性能  QueryCache并非越大越好,过大的QqueryCache会浪费内存。  MySQL:query_cache_size=128M  b、DataBuffer  databuffer是数据库数据在内存中的容器  databuffer的命中率直接决定了数据库的性能  databuffer越大越好,多多益善  MySQL的InnoDBb

5、uffer:innodb_buffer_pool_size=2G  MySQL建议bufferpool开大到服务器物理内存60-80%  五、应用程序缓存  1、对象缓存武汉IT培训  由O/RMapping框架例如Hibernate提供,透明性访问,细颗粒度缓存数据库查询结果,无需业务代码显式编程,是最省事的缓存策略当软件结构按照O/RMapping框架的要求进行针对性设计,使用对象缓存将会极大降低Web系统对于数据库的访问请求良好的设计数据库结构和利用对象缓存,能够提供极高的性能,对象缓存适合OLTP(

6、联机事务处理)应用。  2、查询缓存  对数据库查询结果集进行缓存,类似数据库的QueryCache适用于一些耗时,但是时效性要求比较低的场景。查询缓存和对象缓存适用的场景、不一样,是互为补充的当查询结果集涉及的表记录被修改以后,需要注意清理缓存  3、页面缓存  a、作用  针对页面的缓存技术不但可以减轻数据库服务器压力,还可以减轻应用服务器压力好的页面缓存可以极大提高页面渲染速度页面缓存的难点在于如何清理过期的缓存  b、分类  I、动态页面静态化  利用模板技术将访问过一次的动态页面生成静态html,

7、同时修改页面链接,下一次请求直接访问静态链接页面动态页面静态化技术的广泛应用于互联网CMS/新闻类Web应用,但也有BBS应用使用该技术,例如Discuz!无法进行权限验证,无法显示个性化信息可以使用AJAX请求弥补动态页面静态化的某些缺点  II、Servlet缓存  针对URL访问返回的页面结果进行缓存,适用于粗粒度的页面缓存,例如新闻发布可以进行权限的检查OScache提供了简单的Servlet缓存(通过web.xml中的配置)也可以自己编程实现Servlet缓存  III、页面内部缓存  针对动态页

8、面的局部片断内容进行缓存,适用于一些个性化但不经常更新的页面(例如博客)OSCache提供了简单的页面缓存可以自行扩展JSPTag实现页面局部缓存  六、web服务器端缓存  基于代理服务器模式的Web服务器端缓存,如squid/nginxWeb服务器缓存技术被用来实现CDN(内容分发网络contentdeliverynetwork)被国内主流门户网站大量采用不需要编程,但仅限于新闻发布类网站,页面实时性要求不高

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。