All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.taobao.tair.extend.TairManagerCommon Maven / Gradle / Ivy

/**
 * 
 */
package com.taobao.tair.extend;

import java.io.Serializable;

import com.taobao.tair.Result;
import com.taobao.tair.ResultCode;

/**
 * Tair 扩展接口,支持list系列操作
 * 
 * @author YeXiang
 * 
 */
public interface TairManagerCommon  {

	
	/**
	 * 给一个key设置超时时间
	 * @param namespace 对应的namespace的名字
	 * @param key 对应的key的名字
	 * @param expiretime 超时时间,单位秒
	 * 1.expiretime > 当前时间 传时间点 如12点05分12秒
	 * 2.expiretime < 0 不对该key,产生任何超时效果
	 * 3.expiretime = 0 取消该key的超时设置,也就是将把该key设置成永远不超时
	 * 4.expiretime <= 当前时间 && expiretime > 0 传时间间隔 比如10s
	 * @return 返回成功或者失败错误码
	 */
	public ResultCode expire(short namespace, Serializable key, int expiretime);
	
	/**
	 * 获得key还有多久会超时
	 * 
	 * @param namespace
	 *            对应的namespace的名字
	 * @param key
	 *            对应的key的名字
	 * @return 返回一个DataEntryLong,其key为输入的key,value为时间, 如果为-1,表示不存在或永远不超时
	 */
	public Result ttl(short namespace, Serializable key);

	/**
	 * 获得key对应的是哪种数据结构
	 * 
	 * @param namespace
	 *            对应的namespace的名字
	 * @param key
	 *            对应的key的名字
	 * @return 返回一个DataEntryLong,其key为输入的key,value为数据结构的类型编号
	 * 		   TYPE_STRING 0
	 *         TYPE_LIST 1 
	 *         TYPE_SET 2 
	 *         TYPE_ZSET 3 
	 *         TYPE_HASH 4 
	 *         TYPE_NONE 16
	 *         TYPE_UNKNOWN 32
	 */
	public Result type(short namespace, Serializable key);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy