网站首页 > java教程 正文
高性能本地进程缓存。
今天给大家分享本地进程缓存Caffeine。Caffeine是一个基于java8开发的,提供了近乎最佳命中率的高性能本地缓存库。
·首先要引入这样的依赖叫Caffeine,来看一下测试类。
→首先通过Caffeine的newbuilder拿到这样的cache对象,存数据也只需要用put的方法。
→比如我的女朋友是赵丽颖,取数据通过这样的api去取,如果存在拿到这样的数据,不存在返回的就是null。
→Caffeine还提供了这样的api,比如先通过key去缓存中取,如果取到就直接返回数据。
→如果缓存里没有这样的数据,这边提供了function的接口,也就是会拿到这样的key,可以用key去查数据库,查完数据库还是会帮我们放到这样的缓存里面。
这样的api就实现了先查缓存,缓存命中直接返回。如果没有命中去查数据库,查完数据库之后再放到缓存中再返回,这样就特别的方便。
·来看一下Caffeine的驱逐策略。比如可以设置缓存大小,上限为1。如果存入的数据大于了一条,会把最老的两条删掉。Caffeine删数据不是立刻删除,会有延迟,如果延迟一会之后会发现最后里面就只有迪丽热巴。
·除了刚才可以设置缓存的大小之外,还可以设置缓存的有效期。比如这边可以设置一秒钟,如果存入的数据一秒钟之后就会被删除。
·来看一下在实际的代码中是怎么用的。比如这边要查商品的信息,通过ID去查。正常的流程比如会去先查缓存,缓存有直接返回,没有去查数据库,存入缓存再返回,就可以用这样的api。可以通过ID去查缓存,如果有直接返回,如果没有就去查数据库,查完数据库,之后放到缓存中,然后再返回。
来看一下这样的cache,比如就直接给它注入进来,当然会在配置类这边构造这样的cache对象,然后再放到容器中。
今天的分享就到这。
猜你喜欢
- 2024-10-25 Caffeine高性能本地缓存框架初探(caffeine缓存原理)
- 2024-10-25 Redis学习3——Redis应用之缓存(redis的缓存的使用方式)
- 2024-10-25 Java高级——缓存的使用场景(java缓存机制)
- 2024-10-25 java中常用的几种缓存类型介绍(java常用缓存技术)
- 2024-10-25 skywalking agent 本地缓存队列参数设置
- 2024-10-25 史上最实用的:分布式缓存方案(分布式缓存设计方案)
- 2024-10-25 使用Guava作为本地缓存让系统飞起来
- 2024-10-25 深究分布式缓存的九个点(分布式缓存技术有哪些)
- 2024-10-25 面试题之java缓存总结,从单机缓存到分布式缓存架构
- 2024-10-25 JVM级别的本地缓存框架Guava Cache:探寻实现细节与核心机制
你 发表评论:
欢迎- 最近发表
-
- pyinstaller打包python程序高级技巧
- 将python打包成exe的方式(python打包成exe的方法)
- Python打包:如何将 Flask 项目打包成exe程序
- py2exe实现python文件打包为.exe可执行程序(上篇)
- 如何将 Python 项目打包成 exe,另带卸载功能!
- Python打包成 exe,太大了该怎么解决?
- 可视化 Python 打包 exe,这个神器绝了!
- 案例详解pyinstaller将python程序打包为可执行文件exe
- Cocos 3.x 菜鸟一起玩:打包window程序
- 怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)