![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
缓存
JAVA道人
我宁愿做错,也不愿什么都不做.
展开
-
caffeine的缓存
caffeine尝试3.00版本之后就是jdk11,之前是8Caffeine是基于Java 8的高性能,接近最佳的缓存工具库。Caffeine使用Google Guava启发的API提供内存缓存。所以它的使用成本较低,跟Guava的API大致一致。它主要有以下几个功能:自动将条目自动加载到缓存中,可以选择同步或异步加载基于频率和新近度超过最大值时基于大小的逐出自上次访问或上次写入以来测得的基于时间的条目到期发生第一个陈旧的条目请求时,异步刷新键自动包装在弱引用中值自原创 2021-12-04 14:37:44 · 928 阅读 · 0 评论 -
ehcache缓存的配置文件详解
参数说明:<diskStore>:当内存缓存中对象数量超过maxElementsInMemory时,将缓存对象写到磁盘缓存中(需对象实现序列化接口)。<diskStore path="">:用来配置磁盘缓存使用的物理路径,Ehcache磁盘缓存使用的文件后缀名是*.data和*.index。name:缓存名称,cache的唯一标识(ehcache会把这个cach...原创 2018-04-08 16:23:58 · 1006 阅读 · 0 评论 -
缓存雪崩的解决之道
缓存雪崩是指缓存大范围失效,导致连接又直连数据库原创 2018-04-10 22:48:28 · 152 阅读 · 0 评论 -
ehcache和枚举的结合
为什么用枚举?简单易用.比策略模式要简单清晰.我项目里就这几个地方用缓存.先上xml<?xml version="1.0" encoding="UTF-8"?><ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ht...原创 2019-07-02 16:30:14 · 146 阅读 · 0 评论 -
Ehcache的shutdown
1.你要主动调用CacheManager的CacheManager.shutdown()方法2.如果在web程序里,ehcache提供了一个lisenernet.sf.ehcache.constructs.web.ShutdownListener该listener会关闭所有的CacheManager3.System.setProperty("net.sf.ehcache.enab...原创 2019-07-02 16:21:29 · 384 阅读 · 0 评论 -
ehcache2.10.X的在线文档
http://www.ehcache.org/generated/2.10.4/html/ehc-all/ehcache3.X网站慢的跟狗屎一样,2.10.x的还行,比较快.下面是xml配置:This XML file does not appear to have any style information associated with it. The document tree ...原创 2019-07-02 16:47:01 · 218 阅读 · 0 评论 -
java.io.tmpdir究竟是哪里?
在ehcache里的磁盘路径默认就是java.io.tmpdir,那这究竟是哪里呢?其实你可以这样做:System.out.println(System.getProperty("java.io.tmpdir"));那么windows的结果大概就是这里:C:\Users\Administrator\AppData\Local\Templinux的结果是/tmp...原创 2019-07-02 16:21:47 · 343 阅读 · 0 评论 -
非正常关闭时Ehcache磁盘存储下次不能使用.
在使用ehcache时,我们会使用diskPersistent="true"来保证下次虚拟机重启时,缓存数据依然可以使用.然而当我们ctrl+C或者直接杀死进程时甚至于断电等非正常关闭时,ehcache的缓存就不能再使用了.原因在于:在ehcache的源码里,DiskStorageFactory类里,硬盘存储初始化时有这段代码: if (getDataFile().last...原创 2019-07-02 16:21:38 · 683 阅读 · 0 评论 -
ehcache刷新到磁盘的结果错误
在使用ehcache做插入时,希望存到磁盘上.但是一重启,根本读不到我想要的数据.发现根本没有存进去.配置什么的都没有毛病.最终发现问题出在我写的代码上:源代码是这样写的:缓存的key是userid,值是一个map.然后把map里存的是其他相关value.我先去缓存查看,然后用map接受,如果不存在,就新建一个map,放到缓存里,由于知晓内存地址,所以我直接修改了map,在内存...原创 2019-07-02 16:46:04 · 149 阅读 · 0 评论