SpringBoot配置Redis

SpringBoot配置Redis指南🚀

Redis作为高性能的内存数据库,是SpringBoot项目中常用的缓存解决方案。下面让我们看看如何快速配置Redis吧!✨

1.添加依赖📦

首先在`pom.xml`中添加Redis依赖:

```xml

org.springframework.boot
spring-boot-starter-data-redis

```

2.配置连接信息⚙️

在`application.yml`中配置Redis连接:

```yaml
spring:
redis:
host:127.0.0.1Redis服务器地址
port:6379Redis端口
password:密码(没有可不填)
database:0使用的数据库索引
timeout:5000连接超时时间(毫秒)
lettuce:
pool:
max-active:8连接池最大连接数
max-idle:8连接池最大空闲连接数
min-idle:0连接池最小空闲连接数
```

3.使用RedisTemplate🔧

SpringBoot提供了`RedisTemplate`来操作Redis:

```java
@RestController
publicclassRedisController{

@Autowired
privateRedisTemplateredisTemplate;

@GetMapping("/set")
publicStringsetValue(Stringkey,Stringvalue){
redisTemplate.opsForValue().set(key,value);
return"设置成功!🎉";
}

@GetMapping("/get")
publicObjectgetValue(Stringkey){
returnredisTemplate.opsForValue().get(key);
}
}
```

4.自定义序列化方式🔄

默认的JDK序列化可读性差,我们可以自定义序列化:

```java
@Configuration
publicclassRedisConfig{

@Bean
publicRedisTemplateredisTemplate(RedisConnectionFactoryfactory){
RedisTemplatetemplate=newRedisTemplate<>();
template.setConnectionFactory(factory);

//使用Jackson2JsonRedisSerializer序列化value
Jackson2JsonRedisSerializerserializer=
newJackson2JsonRedisSerializer<>(Object.class);

template.setValueSerializer(serializer);
template.setKeySerializer(newStringRedisSerializer());
returntemplate;
}
}
```

5.缓存注解使用🏷️

SpringBoot还提供了方便的缓存注解:

```java
@Service
publicclassUserService{

@Cacheable(value="user",key="id")
publicUsergetUserById(Longid){
//模拟数据库查询
returnnewUser(id,"用户"+id);
}

@CacheEvict(value="user",key="id")
publicvoiddeleteUser(Longid){
//删除用户逻辑
}
}
```

记得在启动类上添加`@EnableCaching`注解启用缓存功能哦!💡

通过以上步骤,你就可以在SpringBoot项目中愉快地使用Redis啦!🎊无论是作为缓存还是分布式锁,Redis都能为你的应用带来性能提升!

相关推荐
JaneConan4 分钟前
鸿蒙报错速查:arkts-no-any any 类型禁用,用了就炸,根因 + 真解法
后端·harmonyos
还是奇怪12 分钟前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程
zfoo-framework27 分钟前
1.ansible安装 2.虚拟机克隆
java
颜酱33 分钟前
# 02 | 搭骨架:用 LangGraph 编排 12 步工作流(思路)
前端·人工智能·后端
颜酱34 分钟前
02 | 搭骨架:用 LangGraph 编排 12 步工作流
前端·人工智能·后端
码上解惑36 分钟前
从 Dify 工作流说起:常用节点怎么选、怎样组合?
java·人工智能·ai·agent·dify·智能体·spring ai
青山木2 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
嘉伟桑2 小时前
Python调用电价API返回JSON示例:分时电价、现货电价和字段解析
后端
程序员-珍2 小时前
报错下载android sdk失败
android·java
武子康2 小时前
Shippy:确定性工具、会话级 Sandbox 与 Live-Data Eval(4 类收敛 + 7 步实现方案 + 6 类评测指标)
前端·人工智能·后端