Spring Boot 整合 Redis
第一步:引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
第二步:配置 Redis 连接
spring:
redis:
host: 127.0.0.1
port: 6379
password: 0711
database: 1
第三步:创建 RedisTemplate 的 Bean 组件
RedisTemplate 是 SpringBoot 提供的一个模板类,它提供了很多快速使用 Redis 的 API,而不需要自己维护连接、事务。
@Configuration
public class RedisConfig {
@Bean
//参数 RedisConnectionFactory 为 Spring Boot 自动注入
public RedisTemplate<String , Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<String, Object>redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(factory);
return redisTemplate;
}
}
第四步:创建工具类调用 RedisTemplate 操作 Redis 服务端,进行数据的存取
@Component
public class RedisUtil {
@Resource
private RedisTemplate<String, Object> redisTemplate;
/**
* 往 redis 中缓存数据
* @param key
* @param object
* @return
*/
public boolean set(String key, Object object){
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, object);
return true;
}
/**
* 根据 key 从 redis 服务器中获取 value 值
* @param key
* @return
*/
public Object get(String key){
ValueOperations<String, Object> ov = redisTemplate.opsForValue();
return ov.get(key);
}
}
第五步:测试
@Component
public class MyRunner implements CommandLineRunner {
@Resource
private RedisUtil redisUtil;
@Override
public void run(String... args) throws Exception {
System.out.println("项目启动");
redisUtil.set("key1", "testValue");
System.out.println("获取 redis 中的值:" + redisUtil.get("key1"));
}
}
实现了 CommandLineRunner 接口的类,重写 CommandLineRunner 接口的 run() 方法,run() 方法中的代码即可在项目启动时运行。