Springboot连接Redis
Posted Firm陈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Springboot连接Redis相关的知识,希望对你有一定的参考价值。
前言
随着数据量的日益增长,很多时候如果直接用SELECT * FROM XXX这些SQL语句来对上千万的数据进行查询,那耗费的时间可想而知。
作为用户一方,肯定希望系统响应越快越好,没什么人喜欢点一个按钮要等到吃完一顿饭回来还没能够响应成功,何况像我这些急性子的人,哈哈!
对Redis不了解的同学,可以自己先去查阅一下,网上有很多关于这方面的说法,我这里就不做阐述了。
开始
引入依赖
在pom.xml中添加以下代码:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
不过,在idea创建Springboot项目的时候,可以勾选Redis,这样就不用自己引入依赖了,如下图:
然后在application.properties中添加以下配置信息:
spring.redis.host= ## redis所在的服务器IP
spring.redis.port=6379 ## 端口
spring.redis.password= ##密码,我这里没有设置,所以不填
spring.redis.pool.max-active=8 ## 设置最大连接数,0为无限
编写代码
IRedisServie.java:
public interface IRedisService {
// 加入元素
void setValue(String key, Map<String, Object> value);
// 加入元素
void setValue(String key, String value);
// 加入元素
void setValue(String key, Object value);
// 获取元素
Object getMapValue(String key);
// 获取元素
Object getValue(String key);
}
RedisServiceImpl.java:
@Service
public class RedisServiceImpl implements IRedisService {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Autowired
private RedisTemplate redisTemplate;
@Override
public void setValue(String key, Map<String, Object> value) {
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, value);
redisTemplate.expire(key, 1, TimeUnit.HOURS); // 这里指的是1小时后失效
}
@Override
public Object getValue(String key) {
ValueOperations<String, String> vo = redisTemplate.opsForValue();
return vo.get(key);
}
@Override
public void setValue(String key, String value) {
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, value);
redisTemplate.expire(key, 1, TimeUnit.HOURS); // 这里指的是1小时后失效
}
@Override
public void setValue(String key, Object value) {
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, value);
redisTemplate.expire(key, 1, TimeUnit.HOURS); // 这里指的是1小时后失效
}
@Override
public Object getMapValue(String key) {
ValueOperations<String, String> vo = redisTemplate.opsForValue();
return vo.get(key);
}
}
到这里核心代码基本完成。
结尾
Redis的用法很多样,我这里的可能是比较基本的,因此还是需要多阅读一下文档。
以上是关于Springboot连接Redis的主要内容,如果未能解决你的问题,请参考以下文章
springboot连接redis错误 io.lettuce.core.RedisCommandTimeoutException: