从报错堆栈中分析到是无法链接redis导致的,如果按照视频代码来写的话,Redisson连接的时候的ip是127.0.0.1,而我的redis是部署到虚拟机上的,所以连接redis时必然会报错的,而课程中的示例,redis的ip就是localhost,所以不会报错。
@Override
public Boolean saveEmailToRedis(String emailAddress, String verificationCode) {
RedissonClient client = Redisson.create();
RBucket<String> bucket = client.getBucket(emailAddress);
boolean exists = bucket.isExists();
if (!exists) {
bucket.set(verificationCode, 60, TimeUnit.SECONDS);
return true;
}
return false;
}
所以以上代码需要调整,需要对redis的host、port、password进行设置才能连接成功
@Override
public Boolean saveEmailToRedis(String emailAddress, String verificationCode) {
Config config = new Config();
config.useSingleServer().setAddress("redis://192.168.148.140:6379").setPassword("*****");
// 创建客户端
RedissonClient client = Redisson.create(config);
// 取出相应的email验证码
RBucket<String> bucket = client.getBucket(emailAddress);
// 判断缓存是否存在
boolean exists = bucket.isExists();
if (!exists) {
bucket.set(verificationCode, 10, TimeUnit.SECONDS);
return true;
}
return false;
}
但是我的疑问是,为什么在application.properties文件中redis的配置不能生效呢?
spring.redis.host=192.168.148.140
spring.redis.port=6379
spring.redis.password=******
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星