Redis在SpringBoot项目中的应用
在项目中使用redis作为缓存,提高用户访问速度。
实现思路
- 保存缓存:当用户进行页面访问时,前端会向后端发送请求。后端则会向数据库中获取数据,此时我们在请求向数据库获取数据之前先从redis缓存中尝试获取数据,如果redis缓存中存在我们需要的数据,即可直接返回。如果不存在,则在请求向数据库获取完数据后,将获取到的数据再保存一份到redis缓存中。
- 清理缓存:当后台管理员对数据进行修改,新增,删除的操作后,为保证用户获取到的数据的准确性。就需要对redis缓存中的数据进行清除。
代码实现
1.引入依赖
点击查看代码
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>2.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.3.9.RELEASE</version>
</dependency>
点击查看代码
spring:
application:
name: Reggie
#Redis相关配置
redis:
host: localhost
port: 6379
database: 0 #操作0号数据库
jedis:
pool:
max-active: 8 #最大连接数
max-wait: 1ms #连接池最大阻塞等待时间
max-idle: 4 #连接池中的最大空闲连接
min-idle: 0 #连接池中的最小空闲连接
点击查看代码
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
//默认的Key序列化器为:JdkSerializationRedisSerializer
redisTemplate.setKeySerializer(new StringRedisSerializer());
//注意: 一般值不会设置序列化器为StringRedisSerializer,因为后期有可能值位置存储的数据为非String类型!
//redisTemplate.setValueSerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setConnectionFactory(connectionFactory);
return redisTemplate;
}
}
清理缓存:清理缓存有两种策略,一种是根据分类清除,另一种是全部清除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本