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中添加以下配置信息:
## redis所在的服务器IP
spring.redis.host=
## 端口
spring.redis.port=6379
##密码,我这里没有设置,所以不填
spring.redis.password=
## 设置最大连接数,0为无限
spring.redis.pool.max-active=8
编写代码
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);
// 删除单个key值
Boolean deleteValue(String key);
// 清空redis数据
void delAll();
}
RedisServiceImpl.java:
@Service
public class RedisServiceImpl implements IRedisService {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Autowired
RedisTemplate redisTemplate;
@Override
public void setValue(String key, Map<String, Object> value) {
setRedisTemplate();
ValueOperations vo = redisTemplate.opsForValue();
vo.set(key, value);
}
@Override
public void setValue(String key, String value) {
setRedisTemplate();
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, value);
}
@Override
public void setValue(String key, Object value) {
setRedisTemplate();
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, value);
}
@Override
public Object getValue(String key) {
ValueOperations<String, String> vo = redisTemplate.opsForValue();
return vo.get(key);
}
@Override
public Object getMapValue(String key) {
ValueOperations<String, String> vo = redisTemplate.opsForValue();
return vo.get(key);
}
@Override
public Boolean deleteValue(String key) {
return redisTemplate.delete(key);
}
@Override
public void delAll() {
Set<String> keys = stringRedisTemplate.keys("*");
assert keys != null;
Iterator<String> it = keys.iterator();
while (it.hasNext()) {
// 循环删除
stringRedisTemplate.delete(it.next());
}
}
public void setRedisTemplate() {
redisTemplate.setKeySerializer(new StringRedisSerializer());
}
}
到这里核心代码基本完成。
结尾
Redis的用法很多样,我这里的可能是比较基本的,因此还是需要多阅读一下文档。
还没有评论,来说两句吧...