Spring Boot(二)springboot集成redis,实现基本的存取值
一、在pom文件中加入redis依赖
<!--springboot项目集称redis依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
二、启动Redis
三、关闭防火墙,使用图形界面工具连接到Redis数据库
四、在核心配置文件中配置Redis连接信息
#配置redis数据库连接信息
spring.redis.host=192.168.174.132
spring.redis.port=6379
spring.redis.password=123456
五、代码实现对Redis的获取和添加操作
- RedisService
public interface RedisService {
/** * 新增key * @param key * @param value */
void addKey(String key, String value);
/** * 通过key获取对应的value * @param key * @return */
String getValueByKey(String key);
}
- RedisServiceImpl
@Service
public class RedisServiceImpl implements RedisService {
@Autowired
private RedisTemplate<Object, Object> redisTemplate; //Spring自动注入RedisTemplate
@Override
public void addKey(String key, String value) {
// 20: 表示该数据在缓存中存在的时间,TimeUnit.SECONDS为单位秒,
// 20秒后缓存中的数据会自动消失
redisTemplate.opsForValue().set(key,value,20, TimeUnit.SECONDS);
}
@Override
public String getValueByKey(String key) {
return (String) redisTemplate.opsForValue().get(key);
}
}
- RedisController
@RestController
public class RedisController {
@Autowired
private RedisService redisService;
@RequestMapping(value = "/putRedis")
public String putString(String key, String value){
redisService.addKey(key,value);
return "操作redis成功(新增key)";
}
@RequestMapping(value = "/getRedis")
public String getString(String key){
String str = redisService.getValueByKey(key);
return "key: "+key+" value:"+str;
}
}
-
启动程序,在浏览器中发送增加key的请求:
-
查看是否新增成功(由于我们设置的缓存是20s,即在20s之后,该值会自动在缓存中清除,这也是Redis效率高的原因所在):
- Redis缓存中获取数据: