
java
文章平均质量分 68
代码搬运工阿新
专注java开发10年经验,微信开发5年经验
展开
-
CompletableFuture使用详解(全网看这一篇就行)
CompletableFuture是jdk8的新特性。CompletableFuture实现了CompletionStage接口和Future接口,前者是对后者的一个扩展,增加了异步会点、流式处理、多个Future组合处理的能力,使Java在处理多任务的协同工作时更加顺畅便利。1. supplyAsyncsupplyAsync是带有返回值的异步任务。它有如下两个方法,有一个是带有线程池的重载方法// 带返回值异步请求,默认线程池public static <U> Completa原创 2022-04-02 14:45:24 · 99629 阅读 · 27 评论 -
EhCache、GuavaCache和Caffeine之间的性能
Guava CacheGoogle Guava工具包是一个非常方便易用的本地化缓存实现,基于LRU算法实现,支持多种缓存过期策略。Guava在每次访问缓存的时候判断cache数据是否过期,如果过期,这时才将其删除,并没有另起一个线程专门来删除过期数据。内部维护了2个队列accessQueue和writeQueue来记录缓存中数据访问和写入的顺序。访问缓存时,先用key计算出hash,从而找出所在的segment,然后再在segment中寻找具体数据,类似于使用ConcurrentHashMap数据结构来原创 2022-03-31 14:17:57 · 2916 阅读 · 0 评论 -
springboot集成Caffeine实现本地缓存(自定义过期时间)
目录1.导入依赖2.配置yaml文件3.创建CacheConfig类4.创建UserDTO和AdminUserDTO5.创建UserController类6.测试结果7.总结1.导入依赖 implementation 'com.github.ben-manes.caffeine:caffeine:3.0.6' implementation 'org.springframework.boot:spring-boot-starter-cache' .原创 2022-03-31 14:18:24 · 8131 阅读 · 0 评论 -
解决监听redis key过期事件出现ERR unknown command `CONFIG`, with args beginning with: `GET`, `notify-keyspace-e
监听redis key过期事件出现ERR unknown command `CONFIG`, with args beginning with: `GET`, `notify-keyspace-events`这个错误,主要是因为redis配置禁用了CONFIG命令,一些云服务出于安全考虑都会禁用CONFIG命令。解决办法有两种,一种就是改配置,一种是基于代码层面解决。方案一:改redis配置文件注释掉rename-command CONFIG ""方案二:代码层面只要设置keys原创 2022-03-26 14:42:53 · 13816 阅读 · 0 评论 -
redis之监听redis key过期事件
1.创建springboot工程2.导入redis依赖implementation 'org.springframework.boot:spring-boot-starter-data-redis'3.创建RedisListenerConfig配置类/** * @author zsx */@Configurationpublic class RedisListenerConfig { @Bean RedisMessageListenerContainer c原创 2022-02-28 16:29:55 · 2288 阅读 · 0 评论