自己实现一个缓存

基本框架

package com.kang.cache;

/**
 * @author klr
 * @create 2020-09-24-14:53
 */

//集中式缓存
public class MyCache {

    //基本功能
    public void 设置缓存(Object key, Object value) {
        保存数据(key, value);
    }

    private void 保存数据(Object key, Object value) {
        //1.内存
        //2.硬盘
        //3.第三方应用
    }

    public Object 读取缓存(Object key) {
        return new Object();
    }


    //扩展功能
    public void 清空缓存() {

    }

    public int 获取缓存数量() {
        return 0;
    }

    public void 溢出淘汰() {
        //FIFO
        //LRU
        //...
    }

    public void 过期清理() {

    }

    public void 命中率统计() {
        
    }
}

提高

进阶:经典责任链及变种模式

mybatis缓存的变种责任链


image.png
image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。