• springboot缓存技术--jetCache


    缓存供应商变更:jetCache

    这个可以看做一个框架,对其他的缓存进行了整合。

    一、远程缓存方案

     

     

    1、基本配置

      maven坐标

    1. <dependency>
    2. <groupId>com.alicp.jetcache</groupId>
    3. <artifactId>jetcache-starter-redis</artifactId>
    4. <version>2.6.2</version>
    5. </dependency

    yml文件配置

    1. # jetcache配置
    2. jetcache:
    3. # 远程连接方案
    4. remote:
    5. # 只有一种情况的时候,就用default
    6. default:
    7. # 使用redis
    8. type: redis
    9. host: localhost
    10. port: 6379
    11. # 这个地方最少要给一条,不然会报错
    12. poolConfig:
    13. maxTotal: 50
    14. # 定义另外一组配置
    15. sms:
    16. # 使用redis
    17. type: redis
    18. host: localhost
    19. port: 6379
    20. # 这个地方最少要给一条,不然会报错
    21. poolConfig:
    22. maxTotal: 50

    启用缓存开关

      在启动类添加@EnableCreateCacheAnnotation 注解

    1. @SpringBootApplication
    2. @EnableCreateCacheAnnotation //启用使用注解的方式创建缓存
    3. public class Springboot19CacheApplication {
    4. public static void main(String[] args) {
    5. SpringApplication.run(Springboot19CacheApplication.class, args);
    6. }
    7. }

    启动redis

    启动服务器

     启动客户端

     

    2.重要代码

       类似集合的操作

    1. @Service
    2. public class SMSCodeServiceImpl implements SMSCodeService {
    3. @Autowired
    4. private CodeUtils codeUtils;
    5. // area指定配置(如果不指定默认default配置) name 缓存空间 expire 缓存过期时间,默认是秒 timeUnit是指定expire的单位
    6. @CreateCache(area = "sms",name = "jetCache_",expire = 3600,timeUnit = TimeUnit.SECONDS)
    7. // 用com.alicp.jetcache.Cache
    8. // 泛型根据实际情况进行指定
    9. private Cache<String,String> jetCache;
    10. @Override
    11. public String sendCodeToSMS(String tele) {
    12. // 通过电话号码得到我们想要的验证码
    13. String code= codeUtils.generator(tele);
    14. // 放入缓存
    15. jetCache.put(tele,code);
    16. return code;
    17. }
    18. @Override
    19. public boolean checkCode(SMSCode smsCode) {
    20. // 取出内存中的验证码与传递过来的验证码进行对比,如果相同,返回true
    21. //用户输入的验证码以及电话号码
    22. String code = smsCode.getCode();
    23. //这是缓存中的验证码,因为tele是key,所以在此处要传入一个tele(正确的验证码)
    24. String cacheCode =jetCache.get(smsCode.getTele());
    25. return code.equals(cacheCode);
    26. }
    27. }

    3.演示

     

    二、本地缓存方案

     

  • 相关阅读:
    多商户商城系统功能拆解19讲-平台端发票管理
    sip服务器 国标gb28181
    dpdk中QSBR具体实现
    ABB机器人:工件坐标系介绍以及标定操作与使用方法
    《QDebug 2022年6月》
    贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据...
    产品思维训练 | 如何有效提高问答网站中的问题回复率?
    一文了解Gin对Cookie的支持
    进化策略算法
    【Spring boot 拦截器 HandlerInterceptor】
  • 原文地址:https://blog.csdn.net/weixin_51351637/article/details/125474644