package com.yiidata.intergration.web.modules.sys.cache;
/**
*
*
* Created by zhenqin.
* User: zhenqin
* Date: 2020/2/14
* Time: 10:16
* Vendor: yiidata.com
* To change this template use File | Settings | File Templates.
*
*
*
* @author zhenqin
*/
public interface ICache {
/**
* 将数据保存至缓存中
* @param key
* @param value
* @throws Exception
*/
void add(String key, T value);
/**
* 将数据保存至缓存中, 过期时间为 exp。 过期单位为:s(秒)
* @param key
* @param exp
* @param value
* @throws Exception
*/
void add(String key, int exp, T value);
/**
* 获取缓存中的数据
* @param key
* @return
* @throws Exception
*/
T get(String key);
/**
* 移除 某条缓存,不论过期时间
* @param key 缓存的 KEY
* @return
*/
T remove(String key);
/**
* 移除 指定前缀的缓存
* @param prefix 缓存的 KEY 前缀,相当于在该前缀自动加 *
* @return 返回了移除多少条
*/
int removeByPrefix(String prefix);
/**
* 清空缓存
* @throws Exception
*/
void clear();
/**
*
* add @author zhaopx at: 2019-08-20 17:00
*
* 获得缓存队列的长度
* @return 返回大于等于 0 则代表真实长度,返回 -1 代表无法获得
*/
int size();
/**
* 停机,关闭缓存
*/
void shutdown();
}