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);
|
|
|
}
|