
cn.easyutil.project.base.service.CacheService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of easyproject-base Show documentation
Show all versions of easyproject-base Show documentation
the project building with this core
The newest version!
package cn.easyutil.project.base.service;
import java.util.List;
import java.util.Map;
import java.util.Set;
/** 缓存服务 */
public interface CacheService {
/**
* 存储val
*
* @param key
* @param val
*/
public void set(String key, String val);
/**
* 设置过期时间
*
* @param key
* @param val
* @param countdownOfSecond
* 过期倒计时时间(秒)
*/
public void set(String key, int countdownOfSecond);
/**
* 设置过期时间
*
* @param key
* @param val
* @param expireTime
* 具体到期时间(时间戳)
*/
public void set(String key, long expireTime);
/**
* 存放key val
*
* @param key
* @param val
* @param countdownOfSecond
* 过期倒计时时间(秒)
*/
public void set(String key, String val, int countdownOfSecond);
/**
* 存放key val
*
* @param key
* @param val
* @param expireTime
* 具体到期时间(时间戳)
*/
public void set(String key, String val, long expireTime);
/**
* 获取key对应的val
*
* @param key
* @return
*/
public String get(String key);
/**
* 获取所有redis数据
*
* @param key
* @return
*/
public Map getAll();
/**
* 获取key对应的val
*
* @param key
* @return
*/
public List get(String[] keys);
/**
* 放置对象
*
* @param key
* @param obj
* @param expTime
* 具体的过期时间(毫秒)
*/
public void setObj(String key, T obj, long expTime);
/**
* 放置对象
*
* @param key
* @param obj
* @param countdownOfSecond
* 过期倒计时时间(秒)
*/
public void setObj(String key, T obj, int countdownOfSecond);
/**
* 放置对象
*
* @param key
* @param obj
*/
public void setObj(String key, T obj);
/**
* 获取key对应的对象
*
* @param key
* @param clazz
* @return
*/
public T getObj(String key, Class clazz);
/**
* 放置集合数据
*
* @param key
* @param list
* 数组
*/
public void setArray(String key, String... array);
/**
* 放置集合数据
*
* @param key
* @param list
* 数组
* @param index
* 数组下标
* @param val
* 要设置的值
*/
public void setArray(String key, long index, String val);
/**
* 获取集合数据
*
* @param key
* @param start
* key对应的集合索引起始位置
* @param end
* key对应的集合索引结束位置
* @return
*/
public List getArray(String key, Long start, Long end);
/**
* 获取集合数据
*
* @param key
* @return key对应的集合val
*/
public List getArray(String key);
/**
* 获取集合数据
*
* @param key
* @param index
* 下表索引
* @return 下标对应的val
*/
public String getArray(String key, Long index);
/**
* 获取集合长度
* @param key
* @return
*/
public Long getArraySize(String key);
/**
* 从数组右侧删除一位,并返回删除的值
* @param key
* @return
*/
public String removeArrayRight(String key);
/**
* 从数组左侧删除一位,并返回删除的值
* @param key
* @return
*/
public String removeArrayLeft(String key);
/**
* 删除集合中所有符合条件的元素
* @param key
* @param val
*/
public void removeArrayVal(String key, String val);
/**
* 设置map
*
* @param key
* @param map
*/
public void setMap(String key, Map map);
/**
* 设置map
*
* @param key
* @param field
* @param val
*/
public void setMap(String key, String field, String val);
/**
* 获取map数据
*
* @param key
*/
public Map getMap(String key);
/**
* 获取map结构数据
*
* @param key
* @param field
* map数据中的key
* @return
*/
public String getMap(String key, String field);
/**
* 获取指定map中的所有key
*
* @param key
* @return
*/
public Set getMapKeys(String key);
/**
* 获取指定map中的所有val
*
* @param key
* @return
*/
public List getMapVals(String key);
/**
* 获取map数据长度
*
* @param key
*/
public Long getMapSize(String key);
/**
* 原子自增或自减
*
* @param key
* @param num
* 正数或负数
*/
public void incr(String key, Number num);
/**
* 对key做+1
*
* @param key
*/
public void incr(String key);
/**
* 是否存在key
*
* @param key
* @return
*/
public boolean isExists(String key);
/**
* 取消过期时间
*
* @param key
* @return
*/
public void delExpireTime(String key);
/**
* 获取key的过期时间
* @param key
*/
public Long getExpireTime(String key);
/**
* 删除key
*
* @param keys
*/
public void delete(String... keys);
/**
* 加锁
*
* @param key
* 锁标记
* @return
*/
public boolean lock(String key);
/**
* 加锁
*
* @param key
* 锁标记
* @param holdTime
* 锁的最大使用时间
* @return
*/
public boolean lock(String key, long holdTime);
/**
* 加锁
*
* @param key
* 锁标记
* @param flag
* 锁持有人标记
* @param holdTime
* 锁的最大使用时间
* @return
*/
public boolean lock(String key, String flag, long holdTime);
/**
* 解锁
*
* @param key
* 锁标记
* @param flag
* 加锁者标记
*/
public boolean unlock(String key, String flag);
/**
* 解锁
*
* @param flag
* 锁标记
*/
public boolean unlock(String key);
/**
* 清空数据
*/
public void deleteAll();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy