今天学习了缓存jetcache,既能本地缓存,又能远程缓存,接下来介绍远程缓存,本项目为springboot项目。
首先开启redis服务,jetcache只是一个以springcache为基础的框架。
其次在pom文件导入相应坐标,如下:
<dependency> <groupId>com.alicp.jetcache</groupId> <artifactId>jetcache-starter-redis</artifactId> <version>2.6.2</version> </dependency>
接下来写相应配置,本人在yml文件写:
jetcache:
remote: # 远程缓存 default: # 默认设置 type: redis # 缓存配置指定应用 host: localhost port: 6379 poolConfig: # 此配置必须配,否则会报错,至少配一个 maxTotal: 50
然后在启动类上加入以下注解:
@EnableCreateCacheAnnotation //jetcache启用缓存的主开关
接下来具体应用
public class SMSCodeServiceImpl implements SMSCodeService { @Autowired private CodeUtils codeUtils; //写的验证码生成类 @CreateCache(name = "jetCache_",expire = 3600,timeUnit = TimeUnit.SECONDS) //创建jetcache缓存对象 private Cache<String ,String> jetCache; //存验证码 @Override public String sendCodeToSMS(String tel) { String code = codeUtils.generator(tel); jetCache.put(tel,code); return code; }
//取验证码
@Override public boolean checkCode(SMSCode smsCode) { //取出内存中的验证码与传递过来的验证码比对,如果相同,返回true String code = jetCache.get(smsCode.getTel()); return smsCode.getCode().equals(code); }
欢迎大家一起来学习,有不足的地方还请指出。