Cache2j:进阶之CacheListener讲解

本文介绍了一种缓存系统的监听器设计,通过CacheListener接口实现缓存对象移除时的通知功能。当缓存中的对象被移除时,系统会调用监听器的callback方法,并传递封装了缓存对象信息的Payload类。

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

CacheListener:缓存对象移除的通知器,由用户自己根据业务需求实现,当缓存对象被移除时,会回调其内部的callback方法,将对象的相关信息返回给业务。  
/**
 * 对象缓存的监听器,当缓存被淘汰时,内部会回调监听器的callback方法,返回缓存对象的相关信息
 * The listener of the object cache, when the cache is eliminated,
 * the callback method of the listener is callback, and the related
 * information of the cache object is returned
 * @param <K>
 * @param <V>
 * @author zxm 1261608273@qq.com
 */
public interface CacheListener<K,V> {
    /**
     * callback method
     * @param payload cache object payload
     */
    void callback(Payload<K,V> payload);
}
 
方法的入参Payload是缓存对象的封装类,内部封装的属性有:  
public class Payload<K,V> {
    private K key;


    private V value;


    private long initAccessTime;//初始化时间


    public Payload(K key, V value, long initAccessTime){
        this.key = key;
        this.value = value;
        this.initAccessTime = initAccessTime;
    }
...
}

资源地址

Github地址

项目wiki地址

PS:cache2j是本人基于业余兴趣开发,设计上参考了业界优秀开源产品的特点,代码一直在更新,目前并未做任何压力测试(未来会补充),请勿做商业用途,仅供学习交流参考!欢迎大家批评指正,共同学习,谢谢支持!

后续文章我会逐步分享cache2j的设计实现。

转载请声明出处!

contact me: 1261608273@qq.com
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值