文章目录
安装redis
下载地址:https://github.com/tporadowski/redis/releases 教程:https://blog.csdn.net/m0_62617719/article/details/131243067
启动redis
点击redis-server.exe,启动redis
知识加油站: 缓存:Redis可用作高性能缓存,提高应用程序的响应时间,减轻后端数据库的负担。 计数器和排行榜:用于跟踪计数、点赞、浏览次数等数据,以及构建排行榜和统计信息。 数据缓存预热:在系统启动时,将常用数据加载到Redis中,以提高应用程序的性能。 数据持久化:将Redis用作数据的快速缓存和数据持久化,以减少对慢速存储后端的访问。
简单使用redis
① 设置键值对 ② 取出键值对
关闭服务器端:在客户端中输入shutdown 关闭客户端:直接关闭或者输入exit
安装Redis-Desktop-Manager
详细介绍: https://blog.csdn.net/m0_62617719/article/details/131243067
配置pom文件
此处以Spring Boot项目为例,在已有的项目依赖当中再添加redis相关依赖
<!--整合redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置application.properties
① 添加redis的配置:
# Redis 配置
spring.redis.database=0
spring.redis.port=6379
spring.redis.host=localhost
spring.redis.timeout=50000
# Lettuce 连接池配置
spring.redis.lettuce.pool.max-active=8
spring.redis.lettuce.pool.max-wait=-1
spring.redis.lettuce.pool.max-idle=8
配置Redis缓存管理器
在config包下新建RedisConfig.java
① RedisCacheConfiguration 配置:创建一个RedisCacheConfiguration 对象,其中配置了缓存时间(TTL,以秒为单位),禁用了缓存空值,以及序列化键和值。
② Jackson序列化:使用 Jackson2JsonRedisSerializer 来序列化缓存的值,以保留对象的结构。还对Jackson对象映射器进行了配置,以支持Java 8时间类型,并设置了一些基本属性,如日期格式等。
③ CacheManager 配置:通过 cacheManagerHour 和 cacheManagerDay 方法,分别创建了两个不同缓存时间的缓存管理器,分别为1小时和1天。这些缓存管理器使用相应的 RedisCacheConfiguration,并且具有不同的名字。
④ 键值序列化配置:通过 keyPair 和 valuePair 方法,配置了键和值的序列化方式。键使用 StringRedisSerializer 进行序列化,值使用 GenericJackson2JsonRedisSerializer 进行序列化。
配置service层
① 在service层指定一个缓存的名称为 "user"
② @CacheConfig:指定缓存的名称为 "user",与缓存管理器中的配置保持一致。
③ @Cacheable:用于缓存用户信息,根据传入的user_name作为缓存键。如果缓存中已有相同user_name的用户信息,将从缓存中获取,否则将执行userMapper.queryUserByName(user_name)从数据库中获取数据。
④ @CachePut:用于更新用户信息,并将更新后的用户信息存储到缓存中。使用user.getId()作为缓存键。 ⑤ @CacheEvict:用于删除用户信息,根据传入的id从缓存中删除相应的数据。
运行项目
① 添加启动文件配置:
②启动redis服务器端
③运行http请求,查看RDM的缓存