package com.muyu.common.cache;

import com.muyu.common.cache.decoration.DecorationKey;

/**
 * @author DongZl
 * @description: 缓存接口基类
 * @Date 2024-3-26 下午 03:25
 */
public interface Cache <K, V> extends DecorationKey<K> {

    /**
     * 通过Key获取value值
     * @param key 键
     * @return 值
     */
    public V get(K key);

    /**
     * 缓存添加/修改
     * @param key 键
     * @param value 值
     */
    public void put(K key, V value);

    /**
     * 通过键删除
     * @param key 键
     */
    public void remove(K key);

    /**
     * 刷新缓存时间
     * @param key 键
     */
    public void refreshTime (K key);

    /**
     * 刷新缓存数据
     * @param key 键
     */
    public void refreshData (K key);
}
