在上文《Spring集成memcached的详细介绍》中给大家介绍了一下在Spring中通过获取MemCachedClient来实现与memcached服务器进行数据读取的方式。不过,在实际开发中,我们往往是通过Spring的@Cacheable来实现数据的缓存的,所以,本文给大家详细介绍一下@Cacheable的用法。首先,在使用@Cacheable之前,我们要做好准备工作。
第一步:要导入相应的jar包。
<classpathentry kind="lib" path="lib/spring-core-4.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/spring-cache-1.0.10.jar"/>
<classpathentry kind="lib" path="lib/spring-context-4.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/spring-beans-4.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.2.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.17.jar"/>
<classpathentry kind="lib" path="lib/spring-expression-4.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/java_memcached-release_2.0.1.jar"/>
<classpathentry kind="lib" path="lib/spring-aop-4.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/spring-aspects-4.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/spring-context-support-4.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/spring-tx-4.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/aopalliance-1.0.jar"/>
<classpathentry kind="lib" path="lib/ognl-3.0.6.jar"/>
<classpathentry kind="lib" path="lib/trafficCounter-1.0.2.jar"/>
<classpathentry kind="lib" path="lib/aspectjweaver-1.8.4.jar"/>
<classpathentry kind="lib" path="lib/javassist-3.11.0.GA.jar"/>
第二步:xml文件中增加命名空间。
第三步:添加自动扫描功能。
第四步:增加缓存管理类。
第五步:建立一个测试类。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
packageservice;
import org.springframework.stereotype.Service;
import com.springcache.annotation.Cacheable;
@Service
@Cacheable
publicclassMemcachedService{
@Cacheable(name="remote",key="'USER_NAME_'+#args[0]",expire=60)
publicStringstoreUserName(StringaccountId,Stringname)
{
returnname;
}
@Cacheable(name="remote",expire=60)
publicStringstoreUserAddress(StringaccountId,Stringaddress)
{
returnaddress;
}
}
|
@Cacheable支持如下几个参数:
key:缓存的key,默认为空,既表示使用方法的参数类型及参数值作为key,支持SpEL。例如:
memCachedService.storeUserAddress("user", "BeiJing");
所以对应的key为:service.MemcachedService-storeUserAddress_user_BeiJing
name:存储位置。在本来中remote表示使用memcached服务器。
condition:触发条件,只有满足条件的情况才会加入缓存,默认为空,既表示全部都加入缓存,支持SpEL。
expire:过期时间,单位为秒。
最后总结一下:当执行到一个被@Cacheable注解的方法时,Spring首先检查condition条件是否满足,如果不满足,执行方法,返回;如果满足,在name所命名的缓存空间中查找使用key存储的对象,如果找到,将找到的结果返回,如果没有找到执行方法,将方法的返回值以key-value对象的方式存入name缓存中,然后方法返回。
相关推荐
当我们需要在Spring应用中集成Memcached时,"simple-spring-memcached"(SSM)是一个很好的选择。这篇博客(链接:https://younglibin.iteye.com/blog/2157666)将指导我们如何进行这个集成过程。 首先,我们要了解...
本文将详细介绍如何在 `Spring` 项目中配置和使用 `SSM`,以及其主要功能和优势。 **SSM 概述** `SSM` 提供了简单的 API 和自动配置支持,使得在 `Spring` 应用中添加 `Memcached` 缓存变得非常便捷。它支持多种...
Simple-Spring-Memcached项目(简称SSM)旨在简化Memcached在Spring应用中的集成。在SSM中,你可以通过在方法上添加特定的注解,如`@Cacheable`或`@CacheEvict`,实现对缓存的操作。例如,`@Cacheable`注解可用于...
memcached和spring集成、内附测试例子
### Spring集成Memcached详解 #### 一、Memcached简介与客户端选择 Memcached是一种高性能、分布式内存对象缓存系统,用于减轻数据库负载、加速动态Web应用,并提高网站速度。Spring框架可以通过集成Memcached来...
标题“Spring与memcached整合”涉及的是在Java开发环境中如何将Spring框架与memcached缓存系统相结合使用,以便提升应用程序的性能和响应速度。这里我们将深入探讨这一整合过程中的关键概念和技术。 首先,...
在描述中,虽然没有提供具体的信息,但我们可以推测这个"spring+memcached.jar"可能是一个已经集成了Spring与Memcached的库或服务,使得开发者能够轻松地在Spring应用中利用Memcached的功能。 标签"memcached...
1. **Memcached介绍**: Memcached是一款高性能、分布式的内存对象缓存系统,用于在动态系统中减少数据库负载,提升数据读取速度。它通过存储临时数据在内存中,避免了频繁访问数据库,提高了应用程序的响应速度。 ...
当我们将Memcached与Spring集成时,我们可以利用Spring的IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)特性来更方便地管理和使用缓存服务。 在"spring memcached 所需jar"这个场景中,我们关注...
Spring Memcached 是一个用于在Spring应用中集成Memcached缓存服务的框架。Memcached是一种分布式内存对象缓存系统,常用于提高网站数据读取的速度,因为它可以将数据存储在内存中,避免了频繁的数据库查询。现在...
#### 二、simple-spring-memcached 3.0.2 集成Memcached和Spring **1. 修改Spring配置文件dispatcher-servlet.xml** 为了使Memcached与Spring框架集成,首先需要在Spring的配置文件`dispatcher-servlet.xml`中引入...
这篇文章将详细介绍如何将Spring与Memcached整合,帮助新手入门这一技术栈。 首先,我们需要理解Spring整合Memcached的目的。在高并发的Web应用中,缓存可以显著提升性能,减少数据库的负载。Memcached因其简单高效...
标题 "spring调用memcached client for java" 涉及的是如何在Java应用程序中,特别是Spring框架下,集成和使用Memcached作为缓存系统。Memcached是一个高性能的分布式内存对象缓存系统,常用于减轻数据库负载,提升...
1. **Memcached介绍**: - Memcached是一个高性能的分布式内存对象缓存系统,它可以存储键值对数据,用于缓解数据库负载,提高Web应用的响应速度。 - Memcached使用简单的文本协议,支持多语言客户端,且基于内存...
**Spring 整合 Memcached 完整项目代码详解** 在现代Web开发中,缓存是提高应用程序性能的关键技术之一。Memcached是一款广泛使用的分布式内存缓存系统,它能够有效地存储和检索数据,减轻数据库的负载。Spring框架...
"simple-spring-memcached-3.1.0-dist" 是一个针对Spring框架的缓存扩展,它使得在Spring应用中集成和使用Memcached成为可能。Memcached是一种高性能的分布式内存对象缓存系统,用于减少数据库负载,提高应用程序的...
**Memcached与Spring集成安装部署指南** Memcached是一款高性能、分布式的内存对象缓存系统,常用于减轻数据库负载,提高Web应用性能。Spring框架则是一个广泛使用的Java企业级应用开发框架,提供了丰富的功能和...
使用Spring Boot进行Memcached为什么要使用Memcached?您是否正在为每个事务与数据库进行交互? 然后,您必须应用缓存机制,以避免多次数据库调用和更快的响应。一个免费的开源内存中缓存系统,可通过减少数据库负载...
总结起来,Simple-Spring-Memcached通过命名空间、自定义key生成策略以及Spring的AOP集成,提供了一套统一、灵活的缓存解决方案。正确地规划和配置这些元素,能够有效地避免缓存冲突,提升系统性能,同时保证数据的...
在本项目中,MySQL用于持久化应用程序的数据,与Spring框架集成,通过JDBC或ORM框架进行数据操作。 4. **Memcached**:Memcached是一个高性能、分布式内存对象缓存系统,用于减少数据库负载,提高Web应用的速度。在...