`
travels_with_you
  • 浏览: 21380 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

spring缓存基础知识

阅读更多
   在这里我们使用大家熟悉的EHcache作为缓存方案,首先在配置文件里声明缓存。
roadrantz.-cache.xml
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xmlns:ehcache="http://www.springmodules.org/schema/ehcache"

  xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema.beans/spring-beans-2.0.xsd

      http://www.springmodules.org/schema/ehcache
      http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd">

...

</beans>      

加载EHCache配置文件:
<ehcache:config
     configLocation="classpath:ehcache.xml"/>

配置ehcache.xml
<ehcache>
   <defaultCache
       maxElementsInmMemory="500"
       eternel="true"
       overflowToDisk="false"
       memoryStoreEvictionPolicy="LFU" />

   <cache name="rantzCache"
       maxElementsInmMemory="500"
       eternel="true"
       overflowToDisk="false"
       memoryStoreEvictionPolicy="LFU" />
</ehcache>
必须要有一个默认缓存 defaultCache
使用HibernateRantDao的getRantForDay进行缓存
<ehcache:proxy id="rantDao" refId="rantDaoTarget">
    <ehcache:caching methodName="getRantForDay" cacheName="rantzCache" />
</ehcache:proxy>

缓存多个方法,如get..()
    <ehcache:caching methodName="get*" cacheName="rantzCache" />

刷新缓存
  <ehcache:flushing methodName="saveRant" cacheName="rantzCache" when="after"/>

注解驱动缓存,代理多个要缓存的bean
针对java5平台可使用属性@Cacheable @CacheFlush 很便捷的在特定的方法进行声明
@Cacheable(mothodId="rantzCacheModel")
public List<Rant> getRantFotDay(Date day){
   return getHibernateTemplate().find("from " + RANT +"where postedDate = ?",day);
}
@CacheFlush(moothodId="rantzFlushModel")
public void saveRant(Rant rant){
   getHibernateTemplate().saveOrUpdate(rant);
}

rantzCacheModel rantzFlushModel需要配置,在roadrantzcache.xml中
   <ehcache:annotations>
      <ehcache:caching id="rantzCacheModel" cacheName="rantzCache" />
      <ehcache:flushing id="rantzFlushModel" cacheName="rantzCache" when="after" />
   </ehcache:annotations>

一个很简单的缓存流程就完成了。
















3
1
分享到:
评论
5 楼 pastore123 2012-04-03  
可以同时配置spring缓存和hibernate缓存吗?
4 楼 pastore123 2012-04-03  
spring配置的缓存和hibernate配置的二级缓存有什么区别呢?
3 楼 only_java 2009-03-06  
spring in action 2中的实例吧?
2 楼 upheart 2008-12-18  
我觉得讲的灰常好啊,我瞄了一眼就明白了,楼上的是不是理解有问题?
1 楼 exceljava 2008-12-18  
看得有点云里雾里,楼主你自己觉得讲得怎么样?

相关推荐

    spring缓存机制-入门实例

    本篇文章将深入探讨Spring缓存机制的基础知识,并通过一个入门实例来阐述其工作原理和使用方法。 Spring缓存抽象是自Spring 3.1版本引入的,它提供了一个统一的API,支持多种缓存解决方案,如EhCache、Guava Cache...

    spring redis 分布式缓存整合详细的注释说明

    二、Redis基础知识 Redis是一款开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集合,以及发布/订阅等模式,这使得它在缓存场景下具有...

    35.[视频] Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】

    - **String**:最基础的键值对,常用于缓存简单数据。 - **Hash**:适合存储对象,如用户信息。 - **List**:用于存储有序列表,如消息队列。 - **Set**:无序且不重复的数据集合,可用于实现交集、并集和差集...

    SpringCache缓存初探共5页.pdf.zip

    在这个“SpringCache缓存初探共5页.pdf.zip”压缩包中,很可能是对SpringCache的基础知识进行了简要介绍。虽然文件名暗示内容可能只有5页,但我们可以深入探讨SpringCache的一些核心概念和技术细节。 首先,Spring...

    Spring全家桶知识笔记.pdf

    Spring的IoC容器在这些基础上提供了更多高级服务,比如bean的实例缓存、生命周期管理、代理、事件发布和资源加载等。 Spring的高层容器视图展示了容器启动时如何读取应用提供的配置信息,生成bean配置注册表,然后...

    springboot+mybatisplus+redis+spring cache缓存

    本项目利用Spring Boot、MyBatis Plus、Redis以及Spring Cache来构建一个高效的缓存系统。下面将详细阐述这些技术及其整合使用的知识点。 **1. Spring Boot** Spring Boot是Spring框架的简化版,它提供了快速开发...

    自定义注解实现缓存机制

    首先,我们需要了解Spring Boot和Redis的基础知识。Spring Boot是Spring框架的一个微服务开发工具,它简化了配置并提供了快速构建应用程序的方式。Redis则是一款高性能的键值存储系统,常用于缓存、消息队列等场景,...

    Java架构基础知识(二)缓存.svg

    有页面缓存、应用级别的缓存,应用级缓存又分为本地缓存、分布式缓存,在本地缓存中,常用的有成员变量或局部变量实现、静态变量实现、Ehcache、Guava组件、Spring注解缓存等,分布式缓存常用的有redis、mongdb、...

    Spring基础.pdf

    Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)为核心...理解和掌握这些知识点对于任何Spring开发者来说都是至关重要的。

    Spring基础面试

    ### Spring基础面试知识点详解 #### 1. Spring IoC 上下文是哪个接口? - **知识点**: `ApplicationContext` 是 Spring 框架中用于管理 Bean 的核心接口之一,它提供了比 `BeanFactory` 更丰富的功能。 - **解释**...

    spring 5 , Spring Boot 2.0,Spring cloud

    总的来说,这个压缩包文件的内容涵盖了从基础到高级的Spring生态系统知识,包括Spring 5的核心特性、Spring Boot 2.0的简化开发流程,以及Spring Cloud在构建可扩展、健壮的微服务架构中的应用。学习这些内容将使...

    springcloud知识点脑图demo全家桶菜鸟入门

    本资源“springcloud知识点脑图demo全家桶菜鸟入门”显然是为了帮助初学者掌握Spring Cloud的基础知识和实践应用。这里我们将深入探讨其中提到的关键组件——Eureka、OpenFeign、Redis以及Nacos。 首先,Eureka是...

    Spring框架实用知识库分享

    * 介绍如何使用Spring AOP来实现日志记录、安全控制、缓存等功能 第12篇 SpringBoot统一功能处理 * 介绍Spring Boot中的统一功能处理,包括拦截器、过滤器、监听器等 * 演示如何使用Spring Boot的统一功能处理来...

    springboot搭建demo和spring cloud基础搭建demo

    在"spring cloud基础搭建demo"中,我们将关注Spring Cloud的相关知识点: 1. **服务发现(Service Discovery)**:使用Eureka或Consul等服务注册与发现组件,实现微服务间的互相定位。 2. **负载均衡(Load ...

    java Spring mybatis基础相关思维导图

    Java Spring Mybatis 是一个常见的企业级应用开发框架组合,它们各自在软件开发中扮演着重要的角色。...通过深入研究这些图,你可以更好地掌握Spring和Mybatis的基础知识,并为实际项目开发打下坚实的基础。

    spring 基础入门 经典

    以上内容简要介绍了Spring框架的基础知识,并概述了Spring Framework 4.x中的一些重要特性。对于初学者来说,理解Spring的IoC容器、依赖注入、核心组件以及AOP等概念,是构建基于Spring应用的坚实基础。随着对Spring...

    spring-boot-route:Spring Boot 技术栈学习分享,涵盖了基础知识、Web开发、数据访问、缓存服务、消息队列、日志管理、服务监控、定时任务及其他的一些相关知识

    Spring Boot 技术栈分享,spring-boot-route包含基础知识、Web开发、数据访问、缓存服务、消息队列、日志管理、服务监控、定时任务及其他知识等九大部分,二十三篇文章,内容几乎涉猎了开发中比较常用的技术点。...

    Spring Security in Action

    * Infrastructure Layer:负责基础设施,例如数据库、缓存等。 * Security Layer:负责安全机制,例如身份验证、授权、访问控制等。 七、Spring Security 的优点 Spring Security 的优点包括: * 高度灵活性:...

    Beginning Spring(2015)

    ### Spring框架基础知识详解 #### POJO编程模型、轻量级容器与控制反转(IoC) 在《Beginning Spring》这本书的第一章中,作者介绍了POJO(Plain Old Java Object)编程模型,这是一种强调简单Java对象作为软件组件...

Global site tag (gtag.js) - Google Analytics