1. 程式人生 > >Jedis操作單節點redis,叢集及redisTemplate操作redis叢集(二)

Jedis操作單節點redis,叢集及redisTemplate操作redis叢集(二)

package com.dream21th.dream21thredis.redis;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.dream21th.dream21thredis.key.KeyPrefix;
/**
 * 
 * @author dream21th   採用jedis操作redis資料庫提供的方法
 *
 */
public interface IJedisClient {
/**
* 獲取快取   
* @param prefix   鍵的字首
* @param key      鍵的值
* @param clazz    獲取物件型別
* @return
*/
public <T> T get(KeyPrefix prefix, String key,  Class<T> clazz);

/**
* 設定快取
* @param prefix   鍵的字首
* @param key      鍵的值
* @param value    設定的值
* @return
*/
public <T> boolean set(KeyPrefix prefix, String key,  T value);

/**
* 判斷快取是否存在
* @param prefix
* @param key
* @return
*/
public <T> boolean exists(KeyPrefix prefix, String key);

/**
* 鍵的值加1
* @param prefix
* @param key
* @return
*/
public <T> Long incr(KeyPrefix prefix, String key);

/**
* 鍵的值減1
* @param prefix
* @param key
* @return
*/
public <T> Long decr(KeyPrefix prefix, String key);
/**
* 獲取快取
* @param key 鍵
* @return 值
*/


public String get(String key);


/**
* 獲取快取
* @param key 鍵
* @return 值
*/
public Object getObject(String key);

/**
* 獲取快取
* @param key 鍵
* @return 值
*/
public <T> T getT(String key);


/**
* 設定快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public String set(String key, String value, int cacheSeconds);


/**
* 設定快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public String setObject(String key, Object value, int cacheSeconds);

/**
* 設定快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public <T> String setT(String key, T value, int cacheSeconds);
/**
* 獲取List快取
* @param key 鍵
* @return 值
*/
public List<String> getList(String key);
/**
* 獲取List快取
* @param key 鍵
* @return 值
*/
public List<Object> getObjectList(String key);
/**
* 設定List快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public long setList(String key, List<String> value, int cacheSeconds);


/**
* 設定List快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public long setObjectList(String key, List<Object> value, int cacheSeconds);
/**
* 向List快取中新增值
* @param key 鍵
* @param value 值
* @return
*/
public long listAdd(String key, String... value);
/**
* 向List快取中新增值
* @param key 鍵
* @param value 值
* @return
*/
public long listObjectAdd(String key, Object... value);
/**
* 獲取快取
* @param key 鍵
* @return 值
*/
public Set<String> getSet(String key);


/**
* 獲取快取
* @param key 鍵
* @return 值
*/
public Set<Object> getObjectSet(String key);
/**
* 設定Set快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public long setSet(String key, Set<String> value, int cacheSeconds);


/**
* 設定Set快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public long setObjectSet(String key, Set<Object> value, int cacheSeconds);
/**
* 向Set快取中新增值
* @param key 鍵
* @param value 值
* @return
*/
public long setSetAdd(String key, String... value);


/**
* 向Set快取中新增值
* @param key 鍵
* @param value 值
* @return
*/
public long setSetObjectAdd(String key, Object... value);
/**
* 獲取Map快取
* @param key 鍵
* @return 值
*/
public Map<String, String> getMap(String key);


/**
* 獲取Map快取
* @param key 鍵
* @return 值
*/
public Map<String, Object> getObjectMap(String key);


/**
* 設定Map快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public String setMap(String key, Map<String, String> value, int cacheSeconds);


/**
* 設定Map快取
* @param key 鍵
* @param value 值
* @param cacheSeconds 超時時間,0為不超時
* @return
*/
public String setObjectMap(String key, Map<String, Object> value,
int cacheSeconds);


/**
* 向Map快取中新增值
* @param key 鍵
* @param value 值
* @return
*/
public String mapPut(String key, Map<String, String> value);


/**
* 向Map快取中新增值
* @param key 鍵
* @param value 值
* @return
*/
public String mapObjectPut(String key, Map<String, Object> value);


/**
* 移除Map快取中的值
* @param key 鍵
* @param value 值
* @return
*/
public long mapRemove(String key, String mapKey);


/**
* 移除Map快取中的值
* @param key 鍵
* @param value 值
* @return
*/
public long mapObjectRemove(String key, String mapKey);


/**
* 判斷Map快取中的Key是否存在
* @param key 鍵
* @param value 值
* @return
*/
public boolean mapExists(String key, String mapKey);


/**
* 判斷Map快取中的Key是否存在
* @param key 鍵
* @param value 值
* @return
*/
public boolean mapObjectExists(String key, String mapKey);


/**
* 刪除快取
* @param key 鍵
* @return
*/
public long del(String key);


/**
* 刪除快取
* @param key 鍵
* @return
*/
public long delObject(String key);


/**
* 快取是否存在
* @param key 鍵
* @return
*/
public boolean exists(String key);


/**
* 快取是否存在
* @param key 鍵
* @return
*/
public boolean existsObject(String key);


}