在此只演示 SpringBoot 中 Redis 的使用, 登录缓存例子
1. 首先引入相关依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2. 在 application.yml 中添加 redis 的配置信息
# redis 配置
redis:
# 地址
host: localhost
# 端口,默认为6379
port: 6379
# 密码
password:
# redis库 1-16
database: 1
# 连接超时时间
timeout: 10s
lettuce:
pool:
# 连接池中的最小空闲连接
min-idle: 0
# 连接池中的最大空闲连接
max-idle: 8
# 连接池的最大数据库连接数
max-active: 8
# #连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
3. 在实体类vo中【实现implements Serializable】 不实现把数据放到缓存中会报错
4. 前三点配置完成后,就可以通过以下来实现存取数据
@Resource
private RedisTemplate<Object, Object> redisTemplate;
在方法中添加以下代码,可以实现把数据放到缓存中去
// 设置字符串序列化器,使 key 在 Redis 中以字符串形式显示,否则会出现十六进制代码,不方便查看
this.redisTemplate.setKeySerializer(new StringRedisSerializer());
this.redisTemplate.opsForValue().set("user", user);
在别的地方需要用到user中的数据可以直接用以下方法获取信息
user vo=(user)this.redisTemplate.opsForValue().get("user");
5. 如果要设置该数据啥时候过期需要以下操作
参数一 键
参数二 值
参数三 30
参数四 设置过期时间 TimeUnit.MINUTES 为分钟,根据参数三的数值来确认,30分钟过期
this.redisTemplate.opsForValue().set("user", user,30, TimeUnit.MINUTES);
TimeUnit.SECONDS这个方法可以精确到任意时间
NANOSECONDS 毫微秒
MICROSECONDS 微秒
MILLISECONDS 毫秒
SECONDS 秒
MINUTES 分钟
HOURS 小时
DAYS 天