如题,我现在搜的一批又一批的资料教程,都是统一配置。没办法针对到具体某个key
我想像Redis一样实现,某个key的过期时间
Caffeine,
Cache<String, RoomInfo> localCache = Caffeine.newBuilder() //本地缓存 .maximumSize(1024) .expireAfterAccess(30, TimeUnit.MINUTES) .build();
Cache泛型的第二个参数是缓存类型限定,在限定类型下expireAfterAccess表示每次put后都更新过期时间
redis可以,其他缓存基本都没这功能
我理解 ,你用caffeine,不同的过期时间,就生成不同的cache不就行了??又占用不了多少内存。
曲线救国,建议在包装一下存入的value,弄个类,记录下存入时间,设置的过期时间,拿出来的时候判断是否过期。
使用 `expireAfter` 可以实现,在 expireAfterCreate 里面添加判断。
caffeine本身自己可以支持,看如下 cache.policy().expireVariably().ifPresent(e->{ e.put("aaa", 1, 1, TimeUnit.SECONDS); e.put("bbb", 2, 3, TimeUnit.SECONDS); });
用hutool的TimedCache
Caffeine,
Cache泛型的第二个参数是缓存类型限定,在限定类型下expireAfterAccess表示每次put后都更新过期时间
redis可以,其他缓存基本都没这功能
我理解 ,你用caffeine,不同的过期时间,就生成不同的cache不就行了??又占用不了多少内存。
曲线救国,建议在包装一下存入的value,弄个类,记录下存入时间,设置的过期时间,拿出来的时候判断是否过期。
使用 `expireAfter` 可以实现,在 expireAfterCreate 里面添加判断。
用hutool的TimedCache