jodd cache实现缓存超时

本文介绍了一种名为JoddCache的缓存实现,该实现采用了LRU(最近最少使用)策略来管理缓存中的对象。JoddCache提供了一系列的方法,包括put用于插入缓存项,get用于检索缓存项。此外,还支持设置缓存项的过期时间,可以按毫秒或指定的时间单位进行设定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class JoddCache {
    private static final int CACHE_SIZE = 2;
    private final static Cache<Object, Object> CACHE = new LRUCache<>(CACHE_SIZE);

    private JoddCache() {
    }


    /**
     * 缓存一个key 不超时
     *
     * @param key
     * @param value
     */
    public static void put(Object key, Object value) {
        CACHE.put(key, value);
    }


    /**
     * 缓存一个key 指定超时时间(单位:毫秒)
     *
     * @param key
     * @param value
     * @param timeout 超时时间
     */
    public static void put(Object key, Object value, Long timeout) {
        CACHE.put(key, value, timeout);
    }

    /**
     * 缓存指定超时时间
     *
     * @param key
     * @param value
     * @param timeUnit 时间单位 如:秒{@code TimeUnit.SECONDS}
     * @param timeout  单位时间
     */
    public static void put(Object key, Object value, TimeUnit timeUnit, Long timeout) {
        long l = timeUnit.toMillis(timeout);
        CACHE.put(key, value, l);
    }

    /**
     * 根据key获取缓存对象
     * Retrieves an object from the cache. Returns <code>null</code> if object
     * is not longer in cache or if it is expired.
     *
     * @param key
     * @return cached object
     */
    public static Object get(Object key) {
        return CACHE.get(key);
    }
}

转载于:https://www.cnblogs.com/wilwei/p/10244682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值