redistemplate使用_SpringBoot 使用 Redis 缓存,看这篇就对了

点击上方 "程序员小乐"关注公众号, 星标或置顶一起成长

每天凌晨00点00分, 第一时间与你相约

每日英文

When you have something you really love but it causes you pain, God is just testing you to see if you are strong enough to hold it.

当你真正喜欢一样东西,但它又给你带来伤害的时候,其实这是老天在考验你是否足够坚持。

每日掏心话

“你走的路越多,就知道世界有多大,你看的书越多,就知道自己有多浅,一岁又一岁,评判很多事情的标准都与从前不再一样。人啊,这无解的心理和奇怪的人生,就连自己都是捉摸不透的。”

来自:gdpuzxs | 责编:乐乐

链接:cnblogs.com/gdpuzxs/p/7222221.html

239208f2fbe6404cbb71cb585def724b

程序员小乐(ID:study_tech)第 657 次推文 图片来自网络

往日回顾:12 个酷炫的 IntelliJ IDEA 插件,超实用!看了都说好!

正文

1、pom.xml引入jar包

如下:

org.springframework.boot

spring-boot-starter-data-redis

2、修改项目启动类,增加注解@EnableCaching,开启缓存功能

如下:

package springboot;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cache.annotation.EnableCaching;

import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication

@EnableScheduling

@EnableCaching

public class SpringbootApplication{

public static void main(String[] args) {

SpringApplication.run(SpringbootApplication.class, args);

}

}

3、application.properties中配置Redis连接信息

如下:

# Redis数据库索引(默认为0)

spring.redis.database=0

# Redis服务器地址

spring.redis.host=172.31.19.222

# Redis服务器连接端口

spring.redis.port=6379

# Redis服务器连接密码(默认为空)

spring.redis.password=

# 连接池最大连接数(使用负值表示没有限制)

spring.redis.pool.max-active=8

# 连接池最大阻塞等待时间(使用负值表示没有限制)

spring.redis.pool.max-wait=-1

# 连接池中的最大空闲连接

spring.redis.pool.max-idle=8

# 连接池中的最小空闲连接

spring.redis.pool.min-idle=0

# 连接超时时间(毫秒)

spring.redis.timeout=0

4、新建Redis缓存配置类RedisConfig

如下:

package springboot.config;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.cache.CacheManager;

import org.springframework.cache.annotation.CachingConfigurerSupport;

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.core.RedisTemplate;

import org.springframework.data.redis.core.StringRedisTemplate;

import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;

import com.fasterxml.jackson.annotation.JsonAutoDetect;

import com.fasterxml.jackson.annotation.PropertyAccessor;

import com.fasterxml.jackson.databind.ObjectMapper;

/**

* Redis缓存配置类

* @author szekinwin

*

*/

@Configuration

@EnableCaching

public class RedisConfig extends CachingConfigurerSupport{

@Value("${spring.redis.host}")

private String host;

@Value("${spring.redis.port}")

private int port;

@Value("${spring.redis.timeout}")

private int timeout;

//自定义缓存key生成策略

// @Bean

// public KeyGenerator keyGenerator() {

// return new KeyGenerator(){

// @Override

// public Object generate(Object target, java.lang.reflect.Method method, Object... params) {

// StringBuffer sb = new StringBuffer();

// sb.append(target.getClass().getName());

// sb.append(method.getName());

// for(Object obj:params){

// sb.append(obj.toString());

// }

// return sb.toString();

// }

// };

// }

//缓存管理器

@Bean

public CacheManager cacheManager(@SuppressWarnings("rawtypes") RedisTemplate redisTemplate) {

RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);

//设置缓存过期时间

cacheManager.setDefaultExpiration(10000);

return cacheManager;

}

@Bean

public RedisTemplate redisTemplate(RedisConnectionFactory factory){

StringRedisTemplate template = new StringRedisTemplate(factory);

setSerializer(template);//设置序列化工具

template.afterPropertiesSet();

return template;

}

private void setSerializer(StringRedisTemplate template){

@SuppressWarnings({ "rawtypes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值