`

srping3.1中cache(ehcache)问题 value, key

阅读更多

在项目中有使用到spring3.1的cache(使用内置的EhCache)

在一个类中有两个方法.  这两个方法的缓存名是一样的, key值都是用户id.

第一个方法中已经缓存过一个对象了(比如userA), 在调用第二个方法 用userA的uid获取userA实例的时候, 发现还是会去数据库查询,而不是直接从缓存中获得. 请问这是什么原因造成的呢?

 

@Cacheable(value="userInfo", key="#userInfo.getUid()")
public UserInfo putInCache(UserInfo userInfo){
      return userInfo;
}


@Cacheable(value="userInfo", key="#uid")
public UserInfo getById(int uid){
       //从数据库根据uid查询UserInfo, 返回一个userInfo, 方法省略
       return userInfo;
}

 

 

 

分享到:
评论

相关推荐

    spring 3.1中的cache小结

    在Spring 3.1版本中,引入了对缓存的支持,极大地提高了应用程序的性能和效率。这个特性使得开发者能够方便地在应用中集成缓存机制,而无需深入了解底层缓存库的实现细节。本文将围绕Spring 3.1的缓存功能进行详细...

    Ehcache(一): Spring + Ehcache开场白

    Spring框架自3.1版本起引入了抽象的缓存管理机制,允许开发者选择不同的缓存实现,如Ehcache、Guava Cache等。通过声明式或编程式的缓存注解,可以轻松地在方法级别启用缓存功能。 集成Ehcache,首先需要在项目中...

    Spring+EhCache缓存实例

    Spring框架自3.1版本开始引入了统一的缓存抽象,支持多种缓存实现,其中包括EhCache。Spring的缓存抽象层使得切换缓存提供商变得简单,而无需改动大量代码。 **3. 配置Spring与EhCache** 在Spring中使用EhCache,...

    Ehcache分布式缓存与其在spring中的使用

    ### Ehcache分布式缓存及其在Spring中的应用 #### 一、Ehcache概述与原理 Ehcache是一款高效且轻量级的纯Java缓存框架,由于其出色的性能和易于集成的特点,在Java开发中有着广泛的应用。作为Hibernate的默认缓存...

    spring整合EhCache 简单例子

    Spring整合EhCache是一个常见的缓存管理方案,尤其在企业级Java应用中广泛使用。Spring框架提供了对多种缓存技术的支持,包括EhCache,这使得我们能够在Spring应用中轻松地实现数据缓存,提高系统性能。下面我们将...

    Spring cache

    Spring Cache 是 Spring 3.1 版本引入的一项重要特性,它不是一种具体的缓存实现(如 EHCache 或 OSCache),而是一种缓存使用的抽象层。通过在现有的业务代码上添加特定的注解,可以轻松地为方法调用添加缓存支持。...

    Spring来实现一个Cache简单的解决方案

    ### Spring实现Cache简单解决方案 #### 一、背景与概述 在现代软件开发中,缓存是一种常见的优化手段,用于提高应用程序的性能。Spring框架作为Java领域最流行的开发框架之一,为开发者提供了丰富的缓存管理机制。...

    详解Spring整合Ehcache管理缓存

    尽管 Ehcache 已经发布到了 3.1 版本,但本文将以 2.10.2 版本为基础进行讲解,因为 Spring 4.x 版本尚不直接支持 Ehcache 3.x。尽管可以通过 JCache API 进行间接整合,但这可能会增加复杂性。 ### 安装 Ehcache ...

    点智数码--注释驱动的-Spring-cache-缓存的介绍.doc

    Spring Cache 是 Spring 框架从 3.1 版本开始引入的一种注解驱动的缓存抽象,它提供了一种简单而灵活的方式来在应用程序中实现缓存功能,无需依赖特定的缓存实现,如 EhCache 或 OSCache。Spring Cache 的核心特性...

    EHCache详解_技术文档

    通过深入了解EHCache的基本概念、配置方法及其在Spring框架中的集成方式,我们可以更有效地利用缓存技术来优化应用性能。特别是对于需要支持高并发请求的应用场景,合理地配置和使用EHCache将带来显著的性能提升。

    spring memcached

    ### Spring 3.1 对 Memcached 的集成与应用 #### 一、Spring 集成缓存概述 从 Spring 3.1 开始,Spring 框架正式引入了对缓存的支持,使得开发者能够更加方便地管理和使用缓存技术。这一特性极大地简化了缓存的...

    ehcache学习文档

    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> <property name="configLocation" value="classpath:ehcache.xml"/> <bean id="cacheResolver" class="org....

    echache缓存注解说明文档

    要使用Spring Cache,我们需要在Spring配置中声明缓存管理器(如Ehcache、Redis等),并启用缓存注解处理。配置可以是基于XML的,也可以是基于Java配置。例如,使用Ehcache时,我们需要引入Ehcache库,并在配置中...

    spring缓存机制-入门实例

    Spring缓存抽象是自Spring 3.1版本引入的,它提供了一个统一的API,支持多种缓存解决方案,如EhCache、Guava Cache、Hazelcast或Infinispan等。这种抽象允许开发者在不依赖特定缓存实现的情况下,轻松地在应用中添加...

    Springboot整合redis使用技巧.docx

    Spring Cache 不仅支持使用 SpEL(Spring Expression Language)定义缓存键名及条件判断,而且内置了多种缓存实现的支持,如 EhCache 和 Redis 等。 #### 二、Spring Cache 核心接口 Spring 提供的核心 `Cache` ...

    SpringBoot笔记-下篇.pdf

    • Entry是一个存储在Cache中的key-value对。 • Expiry 每一 个存储在Cache中的条目有一个定义的有效期。一旦超过这个时间,条目为过期 的状态。一旦过期,条 目将不可访问、更新和删除。缓存有效期可以通过...

    SpringBoot高级1

    接着,Spring从3.1版本开始引入了自己的缓存抽象,通过`org.springframework.cache.Cache`和`org.springframework.cache.CacheManager`接口实现了对不同缓存技术的统一。Spring支持JCache(JSR-107)注解,简化了...

    springboot高级特性1

    Spring还提供了不同类型的Cache实现,如RedisCache(基于Redis数据库的缓存)、EhCacheCache(基于EhCache的缓存)和ConcurrentMapCache(基于并发Map的本地缓存)。当方法被调用时,Spring会检查是否有缓存结果,...

Global site tag (gtag.js) - Google Analytics