1。首先导入使用Maven导入jar包
& lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-data-redis & lt;/dependency> & lt; dependency> & lt; groupId> com.alibaba & lt; artifactId> fastjson & lt; version> 1.2.62 & lt;/dependency>
2。在应用程序。属性配置信息
#复述,数据库索引(默认为0) spring.redis.database=0 #复述,服务器地址 spring.redis.host=localhost #复述,服务器连接端口 spring.redis.port=6379 #复述,服务器连接密码(默认为空) spring.redis.password=123456 #连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=200 #连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=1 # 连接池中的最大空闲连接 spring.redis.pool.max-idle=10 #连接池中的最小空闲连接 spring.redis.pool.min-idle=0 #连接超时时间(毫秒) spring.redis。timeout=1000 ms
3。编写复述,工具类
@ configuration @ConditionalOnClass (RedisOperations.class)//系统中有RedisOperations类时 @EnableConfigurationProperties (RedisProperties.class)//启动RedisProperties这个类 @EnableCaching//www.1b23.com 公开课RedisConfig延伸CachingConfigurerSupport { @ autowired RedisTemplate RedisTemplate;//配置缓存管理器 @ bean 公共RedisCacheManager缓存管理器(RedisConnectionFactory connectionFactory) { LettuceConnectionFactory jedisConnectionFactory=(LettuceConnectionFactory) redisTemplate.getConnectionFactory (); jedisConnectionFactory.setDatabase (2);//指定dbindex redisTemplate.setConnectionFactory (jedisConnectionFactory); jedisConnectionFactory.resetConnection (); RedisCacheConfiguration配置=RedisCacheConfiguration.defaultCacheConfig () .entryTtl (Duration.ofSeconds(60 * 20))//20分钟缓存失效//设置关键的序列化方式//.entryTtl (Duration.ofSeconds (10)) 新StringRedisSerializer .serializeKeysWith (RedisSerializationContext.SerializationPair.fromSerializer (()))//设置值的序列化方式 .serializeValuesWith (RedisSerializationContext.SerializationPair.fromSerializer(新FastJsonRedisSerializer (Object.class)))//不缓存零值 .disableCachingNullValues (); RedisCacheManager RedisCacheManager=RedisCacheManager.builder (connectionFactory) .cacheDefaults(配置) .transactionAware () .build (); 返回redisCacheManager; } }
4。SpringBoot有关缓存的几个注解
@Cacheable:查询
可选属性:
cacheNames/价值:指定缓存组件的名字。
关键:缓存数据使用的钥匙,可以用来指定。默认即使用方法参数的值
keyGenerator:关键的生成器,可以自己指定关键的生成器的组件id
//自定义配置类配置keyGenerator @ configuration 公开课MyCacheConfig { @ bean (“myKeyGenerator”) 公共KeyGenerator KeyGenerator () { 返回新KeyGenerator () { @Override 公共对象生成(对象目标,方法方法,对象……params) { 返回method.getName () +”(“+ arrays . aslist (params) .toString () +”)”; } }; } }SpringBoot整合复述,注解方式