package com.qxueyou.scc.base.service;
|
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.concurrent.TimeUnit;
|
|
/**
|
* 缓存服务接口
|
*
|
* @author 德虎
|
*
|
*/
|
public interface ICacheService {
|
|
/**
|
* 根据key值获取指定类型对象
|
*
|
* @param key
|
* 对象key值
|
* @param cls
|
* 对象类型
|
* @return
|
*/
|
<T> T get(String key, Class<T> cls);
|
|
/**
|
* 根据key值获取指定类型对象
|
*
|
* @param key
|
* 对象key值
|
* @return
|
*/
|
<T> T get(String key);
|
|
Long getIncrValue(String key);
|
|
Long incr(String key);
|
|
Long decr(String key);
|
|
/**
|
* 根据key值获取指定类型对象
|
*
|
* @param keys
|
* @return
|
*/
|
Map<String, Object> getBulk(String... keys);
|
|
/**
|
* 将对象缓存到缓存池
|
*
|
* @param key
|
* 对象key值
|
* @param expiredTime
|
* 超时时间,单位秒
|
* @param obj
|
* 要缓存的对象
|
* @return
|
*/
|
void set(String key, int expiredTime, Object obj);
|
|
/**
|
* 将对象缓存到缓存池,永不过期
|
*
|
* @param key
|
* 对象key值
|
* @param obj
|
* 要缓存的对象
|
* @return
|
*/
|
void set(String key, Object obj);
|
|
/**
|
* 将对象缓存到缓存池
|
*
|
* @param key
|
* cache名称
|
* @param hashKey
|
* 键值
|
* @param obj
|
* 要缓存的对象
|
* @return
|
*/
|
void set(String key, String hashKey, Object obj);
|
|
/**
|
* 将对象缓存到缓存池
|
*
|
* @param key
|
* 对象key值
|
* @param expiredTime
|
* 超时时间,单位秒
|
* @param obj
|
* 要缓存的对象
|
* @return
|
*/
|
boolean add(String key, int expiredTime, Object obj);
|
|
/**
|
* 将对象从缓存池删除
|
*
|
* @param key
|
* 对象key值
|
* @return
|
*/
|
void delete(String key);
|
|
/**
|
* 追加缓存池的值
|
*
|
* @param key
|
* 对象key值
|
* @return
|
*/
|
void append(String key, String value);
|
|
/**
|
* 获取list缓存中key所有value值
|
*/
|
<T> List<T> lstAll(String key);
|
|
/**
|
* 向list缓存中放入值
|
*/
|
void lstRightPush(String key, Object value);
|
|
/**
|
* 向list缓存中放入值
|
*/
|
<T> void lstRightPushAll(String key, Collection<T> values);
|
|
/**
|
* 从列表获取指定范围内的数据
|
*
|
* @param key
|
* @param start
|
* @param end
|
* @return
|
*/
|
<T> List<T> lstRange(String key, long start, long end);
|
|
void lstTrim(String key, long start, long end);
|
|
void lstClear(String key);
|
|
/**
|
* 根据key,index删除list中的value
|
*/
|
void lstRemove(String key, Object value);
|
|
/**
|
* 通过key返回list中的值,并移除值
|
*/
|
String lstLeftPop(String key);
|
|
/**
|
* 向hash缓存中存入对象
|
*
|
* @param key
|
* @param hashKey
|
* @param value
|
*/
|
void putKeyForHash(Object key, Object hashKey, Object value);
|
|
/**
|
* 对key设置过其实键
|
* @param key
|
* @param timeout
|
* @param unit
|
*/
|
void expire(String key, long timeout, TimeUnit unit);
|
|
/**
|
* 如果不存在就添加
|
* @param key
|
* @param obj
|
* @return
|
*/
|
boolean setIfAbsent(String key, Object obj);
|
|
|
}
|