当前位置: 首页 > news >正文

下载网站的服务器文件菏泽建设信息网官网

下载网站的服务器文件,菏泽建设信息网官网,wordpress 主题缩略图,台州市建设规划局网站班子成员在 Spring 框架中#xff0c;可通过多种方式配置缓存具体行为#xff0c;常见配置方法如下。 1. 缓存管理器#xff08;CacheManager#xff09;配置 基于内存的缓存管理器配置#xff08;以SimpleCacheManager为例#xff09; SimpleCacheManager 是 Spring 提供的简单…在 Spring 框架中可通过多种方式配置缓存具体行为常见配置方法如下。 1. 缓存管理器CacheManager配置 基于内存的缓存管理器配置以SimpleCacheManager为例 SimpleCacheManager 是 Spring 提供的简单缓存管理器用于管理内存缓存。适用于开发和测试阶段或数据量小、缓存一致性要求不高的场景。 首先需要在Spring配置文件如applicationContext.xml或者通过Java配置类使用Configuration注解来配置SimpleCacheManager。 下面代码定义了一个CacheManager类型的bean。通过SimpleCacheManager创建了一个缓存管理器并设置了两个基于ConcurrentMapCache的缓存名称分别为userCache和productCache。这些缓存名称可以在Cacheable、CachePut和CacheEvict等注解的cacheNames属性中使用。 import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.EnableCaching;import org.springframework.cache.concurrent.ConcurrentMapCache;import org.springframework.cache.support.SimpleCacheManager;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.Arrays;ConfigurationEnableCachingpublic class CacheConfig {Beanpublic CacheManager cacheManager() {SimpleCacheManager cacheManager new SimpleCacheManager();cacheManager.setCaches(Arrays.asList(new ConcurrentMapCache(userCache),new ConcurrentMapCache(productCache)));return cacheManager;}}基于Redis的缓存管理器配置以JedisConnectionFactory和RedisCacheManager为例 Redis是一个高性能的分布式缓存数据库在生产环境中被广泛使用。通过配置Redis缓存管理器可以将Spring应用的缓存数据存储到Redis中实现数据的共享和高效访问。 添加 Redis 依赖如spring-boot-starter-data-redisSpring Boot 项目。再用 Java 配置类配置JedisConnectionFactory和RedisCacheManager。 下面配置首先创建了JedisConnectionFactory用于建立与Redis服务器的连接。可以在其中设置Redis服务器的主机名、端口等信息。然后创建了RedisTemplate用于在Redis中进行数据的读写操作同时设置了键和值的序列化方式。最后通过RedisCacheManager创建了缓存管理器它将使用之前配置的RedisConnectionFactory来管理缓存数据与Redis的交互。 import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.EnableCaching;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.cache.RedisCacheManager;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;import org.springframework.data.redis.serializer.StringRedisSerializer;ConfigurationEnableCachingpublic class RedisCacheConfig {Beanpublic RedisConnectionFactory redisConnectionFactory() {JedisConnectionFactory jedisConnectionFactory new JedisConnectionFactory();// 可以配置Redis服务器的主机名、端口等信息jedisConnectionFactory.setHostName(localhost);jedisConnectionFactory.setPort(6379);return jedisConnectionFactory;}Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory redisConnectionFactory) {RedisTemplateString, Object redisTemplate new RedisTemplate();redisTemplate.setConnectionFactory(redisConnectionFactory);redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());return redisTemplate;}Beanpublic CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {RedisCacheManager cacheManager RedisCacheManager.create(redisConnectionFactory);return cacheManager;}}2. 缓存注解参数配置 自定义缓存键Key 通过自定义缓存键可以更精确地控制缓存数据的存储和检索。合理的缓存键设计可以避免缓存数据的冲突提高缓存的命中率。 在Cacheable、CachePut和CacheEvict等注解中使用key属性来指定缓存键。可以使用SpELSpring Expression Language表达式来动态生成缓存键。 在查询用户信息的方法中以用户id和lastName为缓存键。代码中key属性表达式#user.id - #user.lastName将用户对象的id和lastName拼接成字符串作缓存键。如此即便有多个用户对象只要id和lastName组合不同就会存于不同缓存位置。 Cacheable(cacheNames userCache, key #user.id - #user.lastName)public User getUser(User user) {// 从数据库查询用户信息的逻辑return userRepository.findByUser(user);}缓存条件Condition配置 缓存条件配置允许根据特定的条件来决定是否进行缓存操作。这在一些复杂的业务场景中非常有用例如只缓存满足一定条件的数据或者根据业务规则来决定是否更新或清除缓存。 使用Cacheable、CachePut和CacheEvict注解的condition属性通过SpEL表达式来指定条件。 例如只缓存年龄大于 18 岁的用户信息年龄大于 18 岁时查询结果才被缓存。若用户年龄小于等于 18 岁每次调用方法执行数据库查询不使用缓存。 Cacheable(cacheNames userCache, condition #user.age 18)public User getUser(User user) {// 从数据库查询用户信息的逻辑return userRepository.findByUser(user);}3. 缓存过期时间配置 基于特定缓存实现的过期时间设置 不同的缓存实现技术如Ehcache、Redis等有自己的过期时间设置方式。对于基于内存的缓存过期时间设置可能相对简单而对于分布式缓存可能需要考虑更多的因素如数据一致性等。 在Redis中可以通过在存储缓存数据时设置过期时间来实现。在Spring应用中当使用RedisCacheManager时RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(30))设置了默认的缓存过期时间为30分钟。所有存储到Redis中的缓存数据如果没有单独设置过期时间将在30分钟后自动过期。 import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.EnableCaching;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.cache.RedisCacheConfiguration;import org.springframework.data.redis.cache.RedisCacheManager;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;import org.springframework.data.redis.serializer.RedisSerializationContext;import org.springframework.data.redis.serializer.StringRedisSerializer;import java.time.Duration;ConfigurationEnableCachingpublic class RedisCacheExpirationConfig {Beanpublic CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {RedisCacheConfiguration defaultCacheConfig RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(30)).serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer())).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()));return RedisCacheManager.builder(redisConnectionFactory).cacheDefaults(defaultCacheConfig).build();}}
http://www.tj-hxxt.cn/news/136865.html

相关文章:

  • 做电商网站的设计思路有什么意思哪个网站可以做加工代理的
  • 网站底部样式网站中英文切换怎麼做
  • 怎么自己在百度上做网站广州手机软件开发定制
  • 四川seo整站优化费用阿里巴巴国际站怎么注册
  • 西安微信商城网站设计企业网站建设预算
  • 网站被k查询网站开发顶岗报告
  • 广州网站建设广州网络推广公司排名广州seo推广服务
  • 做洗化的网站做网站都用到哪些软件
  • 百度新网站收录大连网站外包
  • 自己电脑做电影网站seo网站优化公司
  • 精品课程网站建设总结报告长春网站建设致电吉网传媒优
  • wordpress原创保护seo优化推广技巧
  • 网站推广有哪些方法编程app下载
  • 网站开发文章在深圳找工作哪个网站好
  • 创建自己的免费网站p2vr做的网站上传
  • 档案网站建设经验软装设计收费标准
  • 乐清定制网站建设域名注册了 如何做网站
  • 做网站互联网公司商丘云网广告有限公司
  • 做商城网站服务器配置怎么选择中国营销网官网
  • 中小型网站建设价位网站建设 软件有哪些方面
  • 免费网站建设模板下载如何制作网络投票的网页
  • 文山专业网站建设哪家好镇江市住房与城乡建设部网站
  • 网站前端切图做多个页面在东莞怎么找工作
  • 怎么做万网网站吗微信小程序api是什么
  • 天猫秘券网站怎么做做百度移动端网站软件
  • 诸暨网站建设公司wordpress解决速度慢
  • 网站开发类论文题目微商城首页
  • 企业网站建设市场分析网站开发公司模板
  • 做网站页面的框架网站是怎么优化的
  • 十堰网站建设怎么建一个网站卖东西