缓存技术流讲座(Web服务器缓存、应用程序缓存、客户端缓存).pptx

缓存技术流讲座(Web服务器缓存、应用程序缓存、客户端缓存).pptx

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
缓存技术流讲座(Web服务器缓存、应用程序缓存、客户端缓存)

缓存技术介绍 2014年1月 目录 系统响应 等待体验 从用户的角度,通常通过访问一系列系统页面,从等待响应的时间来评估系统性能。 响应快的系统给用户带来良好的体验,让用户专注于页面内容和业务操作而完全忘记系统的快慢问题。 而如果等待的时间过长?吐槽、抱怨、投诉…… 系统响应 通过浏览器访问页面 系统响应 等待的时间 数据在网络上传输的时间。 服务器处理请求并生成响应数据的时间 浏览器本地计算和渲染的时间 系统响应 如何减少响应时间 找到瓶颈,采取相应的措施 增加硬件资源(增加网络带宽、提高服务器配置…) 减少网页HTTP请求 服务端业务逻辑优化 集群负载均衡 数据库优化 网页静态化 动态缓存 数据缓存 等待提示 系统响应 缓存的目的 把需要花费昂贵开销的计算结果保存起来,在以后需要的时候直接取出,避免重复的计算,从而提高系统响应速度。 系统响应 缓存的分类 操作系统磁盘缓存 : 减少磁盘机械操作 数据库缓存 : 减少文件系统I/O 应用程序缓存 : 减少对数据库的查询 Web服务器缓存 : 减少应用服务器请求 客户端浏览器缓存 : 减少对网站的访问 目录 应用程序缓存 动态网页 PHP、JSP、ASP、ASPX等 相比静态网页,显示的内容随着时间、环境或者数据操作的结果发生改变,呈现给用户动态可变的内容 当用户请求时服务端处理并响应生成的html静态内容 在服务器端的处理增加了用户等待的时间 应用程序缓存 页面缓存 以文件的形式缓存部分网页内容 MVC模式将视图分离,使得页面缓存更加丰富灵活 Velocity、freemarker页面模板 应用程序缓存 页面静态化 以文件的形式缓存完整的网页内容 用户直接访问html静态页面 为了方便查找,大量的文件缓存以目录分级的形式存放 应用程序缓存 过期检查与更新策略 动态内容引入缓存,在一定程度上避免了动态内容不必要的重复计算,缩短的请求响应时间 动态内容的目的在于提供变化的内容,所以缓存不可能长期有效 动态内容缓存机制必须判断缓存何时过期,以及何时需要生成新的缓存 在数据更新时重新生成静态化内容 定时重新生成静态化内容 应用程序缓存 将缓存放入内存 以文件的形式缓存在加载和过期检查的时候都存在磁盘I/O 在内存允许的情况下,可以考虑将缓存写入内存 应用程序缓存 对象缓存 从数据操作上来说,企业级应用无非是对数据的增、删改、查,因此服务端很大部分的工作都是对数据库记录的操作 O/R Mapping框架细粒度缓存数据库查询结果,表记录级别 对数据库记录对象的缓存可以减少数据库操作,提升系统性能 应用程序缓存 对象缓存的范围 事务范围:缓存只能被当前事务访问 进程范围:缓存被进程内的所有事务共享 集群范围:缓存被一台或多台机器共享 如果在事务范围的缓存中没有查到相应的数据,还可以到进程范围或集群范围的缓存内查询,如果还是没有查到,那么只有到数据库中查询 从集群缓存中查找未必比从数据库查找快 应用程序缓存 一级缓存 事务范围的缓存 ORM框架通常必须实现一级缓存 应用程序缓存 二级缓存 在不改变代码的情况下极大提升web应用性能 可能出现并发问题(跨事务),因此需采用相应的并发访问策略 查询时先从一级缓存中查找对象,如果没有找到则从二级缓存中查找,如果 没有找到则从数据库中查找 删除、更新、添加时同步更新二级缓存 应用程序缓存 查询缓存 对数据库查询结果进行缓存(缓存entity和id) 自动清理过期数据 应用程序缓存 简单缓存 将常用对象放入全局的Hashtable 应用程序缓存 JCache JCache规范(JSR 107)定义了一种对Java对象临时在内存中进行缓存的方法,包括对象的创建、共享访问、假脱机(spooling)、失效、各JVM的一致性等 Jcache可能会成为JavaEE 8中的一个规范 /en/jsr/detail?id=107 应用程序缓存 OSCache JavaEE缓存框架 缓存任意Java对象 通过JSP标签缓存部分页面 缓存过滤器(Last-Modified) 内存和磁盘缓存 支持集群 应用程序缓存 EhCache 纯Java的快速、轻量级缓存框架 Hibernate默认的CacheProvider 内存和磁盘缓存 支持集群 应用程序缓存 JBossCache 集群复制 支持事务 提供两种缓存方式:核心缓存和POJO缓存 核心缓存:K/V方式 POJO缓存:被放入POJO缓存的object的属性发生改变时自动更新POJO缓存 应用程序缓存 MemCached 高性能的分布式内存对象缓存系统 内存缓存 服务器进程用C编写,客户端可以用任意语言编写 Memcached服务器端

文档评论(0)

1444168621 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档