完整的缓存配置:
切换缓存的时候cacheManager他的管理器变下即可,注解其他照用。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:c="http://www.springframework.org/schema/c"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd">
<!-- 开启缓存注解 -->
<cache:annotation-driven/>
<!-- redis开始 -->
<bean id="propertyConfigurerRedis" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="order" value="1" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="locations">
<list>
<value>classpath:config_spring/redis.properties</value>
</list>
</property>
</bean>
<!-- Jedis ConnectionFactory -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="timeBetweenEvictionRunsMillis" value="${redis.minEvictableIdleTimeMillis}" />
<property name="minEvictableIdleTimeMillis" value="${redis.minEvictableIdleTimeMillis}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.host}" />
<property name="port" value="${redis.port}" />
<!-- <property name="password" value="${redis.pass}" /> -->
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
<!-- 在spring-cache。xml里已经做了序列化,这里就注释掉了 -->
<!-- Redis序列化,用于转换N个对象存在1个Key里 -->
<bean id="redisSerializer" class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
<!-- 消除Redis的key前面的\xac\xed\x00\x05t\x00\t这些东西 -->
<bean id="stringRedisSerializer"
class="org.springframework.data.redis.serializer.StringRedisSerializer" />
<bean id="jedisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
p:keySerializer-ref="stringRedisSerializer" p:hashKeySerializer-ref="stringRedisSerializer"
p:connection-factory-ref="jedisConnectionFactory" />
<!-- redis缓存管理器 -->
<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager"
c:template-ref="jedisTemplate" />
<!-- redis结束 -->
</beans>
相关推荐
在Java编程中,缓存是一种优化技术,用于存储经常访问的数据,以便后续请求可以快速获取,从而提高系统性能。在给定的标题“cache设置缓存数据,可直接运行...同时,还涉及到缓存配置、策略选择和处理缓存问题的方法。
8. **异常处理**:当方法抛出异常时,Spring Cache可以配置是否将异常信息也存入缓存,或者是否清除已有的缓存项。 通过理解并应用上述概念和策略,你可以灵活地控制Spring Cache的行为,以优化应用程序性能,特别...
在本篇文档中,我们将探讨如何使用Spring Cache来缓存数据,并结合Fastjson配置Redis序列化,确保数据正确存储和读取。 首先,我们需要在`pom.xml`中添加必要的依赖。Spring Boot的`spring-boot-starter-cache`模块...
"SuperCache超级缓存"是一种高效的数据缓存...以上就是关于"SuperCache超级缓存"的一些关键知识点,包括其工作原理、版本区别、使用场景以及配置和维护策略。了解这些内容有助于更好地利用这项技术来提升服务器性能。
因此,使用Cache时,应确保正确处理可能的null值,并合理设置过期时间。 5. **管理变动的业务数据** 对于实时变动的业务表,可以考虑统一键值,并在实体类中提供一个清空Cache的方法。当数据发生变化时,调用该...
在ASP.NET中,Cache缓存是一种重要的性能优化机制,它允许开发者将经常访问的数据存储在内存中,减少对数据库或其他资源的访问,从而提高Web应用程序的响应速度。 **Cache缓存的基本概念** Cache是ASP.NET应用程序...
### 设置页面缓存Cache #### 知识点一:页面缓存的概念与作用 页面缓存(Page Caching)是Web开发中一种重要的优化技术,主要用于提高网站性能和响应速度。通过将页面的HTML输出存储在服务器端的缓存中,当用户...
\n\n此外,我们还可以使用`@CacheConfig`注解来为一个类定义共享的缓存配置。例如,你可以为所有类中的方法指定一个默认的缓存名称,而不需要在每个方法上都显式声明。\n\n```java\n@CacheConfig(cacheNames = "test...
// 创建本地缓存配置 LocalCacheConfig local = CacheBuilder.createCacheConfig("localCache", CacheType.LOCAL_MEM_CACHE) .limit(1000) .expireAfterWrite(1, TimeUnit.MINUTES) .build(); // 创建Redis...
Guava Cache是Google Guava库中的一个强大特性,它提供了高效的本地缓存解决方案,用于存储经常访问的数据,以减少对远程服务或计算的调用,从而提高应用性能。本案例代码将详细介绍Guava Cache的使用,包括缓存的...
【简单缓存Cache介绍】 在IT领域,尤其是在Web应用程序开发中,缓存是提升系统性能的关键技术之一。本文主要探讨的是ASP.NET中的简单缓存机制,即Cache,它可以帮助我们减少对数据库的频繁访问,提高应用程序响应...
Ehcache允许我们在XML配置文件中定义这些参数,或者在代码中动态设置。此外,Ehcache还支持二级缓存,当一级缓存满时,数据会自动存入二级缓存(如硬盘)。 总结来说,Ehcache是一个强大的Java缓存解决方案,它简化...
* Cache size:根据内存大小和缓存需求进行设置。 * Sort algorithm:根据实际情况选择 MRU 或 MFU。 * Read-ahead:根据实际情况设置预先读取的页数。 * Deferred-write mode:根据实际情况启用或关闭延迟写入模式...
本文将深入探讨Cache缓存数据的原理和实现方法,以及如何有效地管理并删除缓存,以确保高效且响应迅速的应用服务。 首先,我们需要理解什么是缓存。缓存是一种存储技术,用于临时存储经常访问的数据,以减少对主...
配合“使用说明.txt”和“汉化说明.txt”,用户可以详细了解软件的安装步骤、功能设置以及如何充分利用缓存来提升系统性能。"当下站下载说明.htm"则提供了下载来源的详细信息,帮助用户找到安全可靠的下载途径。 ...
3. 构建 LoadingCache:使用 CacheBuilder 构建 LoadingCache 实例,设置缓存池大小、缓存项过期时间、缓存项移除监听器等。 4. 使用 LoadingCache:使用 LoadingCache 实例来存储和获取缓存项。 四、缓存池大小...
在实际应用中,开发者可以通过设置这些字段来控制页面的缓存行为。例如,在Java的Servlet中,可以通过`HttpServletResponse`对象的`setDateHeader`和`setHeader`方法来设置这些值。下面是一个示例: ```java ...
在Spring配置文件中,可以通过`<cache:annotation-driven/>`或`@EnableCaching`注解来启用缓存支持,并配置复合缓存管理器。每个子缓存管理器需要指定其特有的属性,如EhCache的`cache-manager-ref`,Redis的`jedis...
2. 创建Interceptor:在拦截器中,我们可以设置响应头的`Cache-Control`字段来控制缓存策略。比如,我们可以设置`max-age`属性来定义缓存的有效时间。 ```java public class CustomCacheInterceptor implements ...