在这里我们使用大家熟悉的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>
一个很简单的缓存流程就完成了。
分享到:
相关推荐
本篇文章将深入探讨Spring缓存机制的基础知识,并通过一个入门实例来阐述其工作原理和使用方法。 Spring缓存抽象是自Spring 3.1版本引入的,它提供了一个统一的API,支持多种缓存解决方案,如EhCache、Guava Cache...
二、Redis基础知识 Redis是一款开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集合,以及发布/订阅等模式,这使得它在缓存场景下具有...
- **String**:最基础的键值对,常用于缓存简单数据。 - **Hash**:适合存储对象,如用户信息。 - **List**:用于存储有序列表,如消息队列。 - **Set**:无序且不重复的数据集合,可用于实现交集、并集和差集...
在这个“SpringCache缓存初探共5页.pdf.zip”压缩包中,很可能是对SpringCache的基础知识进行了简要介绍。虽然文件名暗示内容可能只有5页,但我们可以深入探讨SpringCache的一些核心概念和技术细节。 首先,Spring...
Spring的IoC容器在这些基础上提供了更多高级服务,比如bean的实例缓存、生命周期管理、代理、事件发布和资源加载等。 Spring的高层容器视图展示了容器启动时如何读取应用提供的配置信息,生成bean配置注册表,然后...
本项目利用Spring Boot、MyBatis Plus、Redis以及Spring Cache来构建一个高效的缓存系统。下面将详细阐述这些技术及其整合使用的知识点。 **1. Spring Boot** Spring Boot是Spring框架的简化版,它提供了快速开发...
首先,我们需要了解Spring Boot和Redis的基础知识。Spring Boot是Spring框架的一个微服务开发工具,它简化了配置并提供了快速构建应用程序的方式。Redis则是一款高性能的键值存储系统,常用于缓存、消息队列等场景,...
有页面缓存、应用级别的缓存,应用级缓存又分为本地缓存、分布式缓存,在本地缓存中,常用的有成员变量或局部变量实现、静态变量实现、Ehcache、Guava组件、Spring注解缓存等,分布式缓存常用的有redis、mongdb、...
Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)为核心...理解和掌握这些知识点对于任何Spring开发者来说都是至关重要的。
### Spring基础面试知识点详解 #### 1. Spring IoC 上下文是哪个接口? - **知识点**: `ApplicationContext` 是 Spring 框架中用于管理 Bean 的核心接口之一,它提供了比 `BeanFactory` 更丰富的功能。 - **解释**...
总的来说,这个压缩包文件的内容涵盖了从基础到高级的Spring生态系统知识,包括Spring 5的核心特性、Spring Boot 2.0的简化开发流程,以及Spring Cloud在构建可扩展、健壮的微服务架构中的应用。学习这些内容将使...
本资源“springcloud知识点脑图demo全家桶菜鸟入门”显然是为了帮助初学者掌握Spring Cloud的基础知识和实践应用。这里我们将深入探讨其中提到的关键组件——Eureka、OpenFeign、Redis以及Nacos。 首先,Eureka是...
* 介绍如何使用Spring AOP来实现日志记录、安全控制、缓存等功能 第12篇 SpringBoot统一功能处理 * 介绍Spring Boot中的统一功能处理,包括拦截器、过滤器、监听器等 * 演示如何使用Spring Boot的统一功能处理来...
在"spring cloud基础搭建demo"中,我们将关注Spring Cloud的相关知识点: 1. **服务发现(Service Discovery)**:使用Eureka或Consul等服务注册与发现组件,实现微服务间的互相定位。 2. **负载均衡(Load ...
Java Spring Mybatis 是一个常见的企业级应用开发框架组合,它们各自在软件开发中扮演着重要的角色。...通过深入研究这些图,你可以更好地掌握Spring和Mybatis的基础知识,并为实际项目开发打下坚实的基础。
以上内容简要介绍了Spring框架的基础知识,并概述了Spring Framework 4.x中的一些重要特性。对于初学者来说,理解Spring的IoC容器、依赖注入、核心组件以及AOP等概念,是构建基于Spring应用的坚实基础。随着对Spring...
Spring Boot 技术栈分享,spring-boot-route包含基础知识、Web开发、数据访问、缓存服务、消息队列、日志管理、服务监控、定时任务及其他知识等九大部分,二十三篇文章,内容几乎涉猎了开发中比较常用的技术点。...
* Infrastructure Layer:负责基础设施,例如数据库、缓存等。 * Security Layer:负责安全机制,例如身份验证、授权、访问控制等。 七、Spring Security 的优点 Spring Security 的优点包括: * 高度灵活性:...
### Spring框架基础知识详解 #### POJO编程模型、轻量级容器与控制反转(IoC) 在《Beginning Spring》这本书的第一章中,作者介绍了POJO(Plain Old Java Object)编程模型,这是一种强调简单Java对象作为软件组件...