缓存实现的层面有很多:
1、对象缓存
由ORM框架提供,透明性访问,细颗粒度缓存数据库查询结果,无需业务代码显式编程。当软件结构按照ORM框架的要求进行针对性设计,使用对象缓存将会极大降低web系统对于数据库的访问请求。因为类似Hibernate这样的ORM,良好的设计数据库结构和利用对象缓存,在大负载网站,能够提供极高的性能。因为使用对象缓存也无需显式编程,所以适用范围也最广泛。
2、查询缓存
对数据库查询结果行集进行缓存,适用于一些耗时,但是时效性要求比较低的场景。iBATIS就只能使用查询缓存,而无对象缓存。查询缓存和对象缓存适用的场景不一样,是互为补充的。
3、片断缓存
针对动态页面的局部片断内容进行缓存,适用于一些个性化但不经常更新的页面(例如博客)。OSCache提供了相当简陋的片断缓存,而RoR则提供了相当好的片断缓存机制。
4、Action缓存
针对URL访问返回的页面结果进行缓存,适用于粗粒度的页面缓存,例如新闻发布。OScache提供了相当简陋的Action缓存(通过web.xml中的配置),而RoR提供了相当好的Action缓存。
缓存不能一概而论,以上每种缓存分别适用于各自的场景,缓存不同的层面。当然你可以在应用程序当中把4种缓存一起用上。
分享到:
相关推荐
Hibernate 是一个流行的对象关系映射(ORM)框架,它提供了数据缓存机制以优化数据库访问性能。缓存机制分为一级缓存和二级缓存,两者都有助于减少对物理数据库的直接访问,从而提高应用程序的运行效率。 一级缓存...
ListView的缓存机制主要由两部分组成:View缓存(ViewHolder模式)和视图状态缓存(Recycling Mechanism)。 首先,我们来看**ViewHolder模式**。这个模式是为了减少在ListView滚动时频繁创建和销毁View对象而设计...
经典Python面试题之数据库和缓存 Python是一种流行的编程语言,广泛应用于Web开发、数据分析、人工智能等领域。在Python开发中,数据库和缓存是两个重要的概念。本文将总结经典Python面试题之数据库和缓存,涵盖...
实现一个禁止缓存的过滤器。 要求和提示: (1)禁止浏览器缓存所有动态页面; (2)有3个http响应头字段可以禁止浏览器缓存当前页面,它们在Servlet中的示例代码如下。 response.setDateHeader("Expires",-1); ...
本地缓存、异步缓存和同步缓存是小程序缓存的三种主要形式。以下是对这些概念的详细解释: 1. **本地缓存**:本地缓存允许开发者在小程序内部存储数据,类似于Web开发中的localStorage。微信小程序提供了`wx....
**一、MVC5.0框架简述** MVC5.0是基于ASP.NET平台的开源Web框架,它鼓励分离关注点的设计,使开发者能够更清晰地组织代码,便于测试和维护。该框架包含三个核心组件:Model(模型)处理业务逻辑和数据,View(视图)...
Django的缓存机制是其性能优化的关键组成部分,它能够显著提升Web应用的响应速度,减少服务器负载,以及避免不必要的数据库查询。以下是对Django缓存机制及其使用方法的详细阐述。 **一、缓存目的** 1. **减小过载*...
#### 二、HTTP报文结构简述 在深入了解浏览器缓存机制之前,我们需要对HTTP报文的基本结构有所了解。HTTP报文主要分为两种类型:HTTP请求报文和HTTP响应报文。 1. **HTTP请求报文**: - **请求行**:包含方法名...
【面试简述】 在面试中,李俊才作为一名大三的计算机科学与技术专业的学生,展示了他在实际项目中的技能和经验。他参与开发了一个基于SpringBoot+MyBatis的购物商城项目,具备登录、订单和商品管理等功能。项目采用...
### HPUX系统优化简述 #### 系统优化原理简述 为了使一台Unix主机达到最佳的工作状态,除了需要一台高性能的Unix主机之外,还需要一位优秀的系统管理员根据实际的应用需求进行专门的优化操作。本篇文章将从多个...
L1缓存又细分为数据缓存和指令缓存,L2缓存通常更大,L3缓存更大且速度较慢。高速度、大容量的缓存可以显著提升性能,但成本较高。 5. **CPU制造工艺**:CPU的制造工艺影响其功耗、发热和性能。更先进的工艺能制造...
3. **SQL缓存的分析:** 为了分析SQL缓存中的查询,可以使用`-g`参数: ```bash db2advis -d sample -g -m I -l -1 -t 0 -o db2advis_sql_cache.txt ``` 通过以上步骤,我们可以有效地使用DB2的db2advis索引分析...
5. CPU的缓存:缓存分为一级缓存(L1)和二级缓存(L2),部分高端CPU还包含三级缓存(L3)。缓存用于存储经常使用的数据,以减少与主内存交换数据的时间。 6. CPU的数据总线宽度和内存:数据总线宽度决定了CPU一次...
"DNN核心API介绍简述" DNN 作为一个框架,可以看作是一个.net framework,可以在基础上扩展并实现各种功能,而DNN核心API是你在开发过程中最有力的辅助工具。了解API最基本的步骤就是API组织起来的命名空间。下面是...
例如,如果系统对高速缓存的命中率有较高要求,可能会选择全相联映射和LRU策略;如果对硬件成本敏感,可能采用直接相联映射,以降低实现复杂性。 总结来说,Cache是通过高速的SRAM来临时存储频繁访问的数据,通过...
PHP专题从原理到实例简述PHP的重点函数,静态化技术,缓存技术,面向对象编程,以及详细的异常处理。 主题讲解思路清晰,流程化分析,富含表格与图片说明.
5. **Caching**:Hibernate提供了二级缓存机制,可以与EJB的缓存策略相结合,提高数据访问速度,减少对数据库的压力。 6. **性能优化**:整合EJB和Hibernate可以进行性能调优,例如通过调整事务隔离级别、缓存配置...