开发指南064-Caffeine里模式搜索

简介: 平台兼容Caffeine和Redis两种缓存模式,大型应用使用Redis,小型应用使用Caffeine

平台兼容Caffeine和Redis两种缓存模式,大型应用使用Redis,小型应用使用Caffeine,最外层使用qlmCacheTools进行封装,例如:

public void put(String key, String value){

   if ("Redis".equals(QLMContants.cacheMode)){

       redisutils.set(key,value);

   }

   else if ("Caffeine".equals(QLMContants.cacheMode)){

       CaffeineUtils.put(key,value);

   }

}

其中cacheMode来自配置文件。基本上所有操作都有对应方法,但是Redis有

public Set<K> keys(K pattern),就是按模式搜索,这个在平台上实际应用有查询在线用户,可惜的是Caffeine自己没有对应方法。这个只能老规则,自己写一个

Set<String> keys = momentaryStore.asMap().keySet();

for (String key : keys) {

   if (key.indexOf(pattern)>=0) {

       // 处理匹配的键

       keys.add(key);

   }

}

其中的momentaryStore:

protected  static  Cache<String, Object> momentaryStore =

       Caffeine.newBuilder()

               .expireAfterWrite(24*60, TimeUnit.MINUTES)

               .maximumSize(200000)

               .build();

相关文章
|
缓存 Java Redis
JetCache快速入门
本文简要介绍了基于注解来配置使用JetCache的方式。当使用JetCache的注解时,可以搭配Spring4.0.8以上版本,或者Spring Boot 1.1.9以上版本,本文同时展示了这两种情况下的配置方式。
18694 0
【超详细】springboot + springdoc-openapi + knife4j 集成案例
springdoc-openapijava库有助于使用 spring boot 项目自动生成 API 文档。 springdoc-openapi通过在运行时检查应用程序以根据 spring 配置、类结构和各种注释推断 API 语义来工作。
集成Swagger2相关问题解决方案
集成Swagger2相关问题解决方案
|
缓存 Dubbo Java
SpringBoot如何一分钟集成Caffeine?
SpringBoot如何一分钟集成Caffeine?
764 0
|
缓存 NoSQL Java
JetCache 快速实战
JetCache是一个基于Java的缓存系统封装,提供统一的API和注解来简化缓存的使用。 JetCache提供了比SpringCache更加强大的注解,可以原生的支持TTL、两级缓存、分布式自动刷新,还提供了Cache接口用于手工缓存操作。 当前有四个实现,RedisCache、TairCache(此部分未在github开源)、CaffeineCache(in memory)和一个简易的LinkedHashMapCache(in memory),要添加新的实现也是非常简单的。
611 0
|
缓存 监控 NoSQL
jetcache教程
jetcache教程
1331 0
|
缓存 NoSQL Java
Redisson官方文档 - 14. 第三方框架整合
Redisson官方提供了一些列常见框架的整合,包括Spring,Spring缓存,Hibernate二级缓存和JMX/DropWizard统计等,还提供了拿来即用的Tomcat会话管理器以及Spring会话管理器。
13949 0
|
索引 Apache Java

热门文章

最新文章