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

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

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

import java.io.Serializable;

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



/**
 * Tair 扩展接口,支持Set系列操作
 * 
 * @author YeXiang
 * 
 */
public interface TairManagerSet {
	
	
	/**
	 * 对对应的set插入value
	 * @param namespace 对应的namespace的名字
	 * @param key 对应的Set的名字
	 * @param value 要插入的value
	 * @param version sadd的带版本验证版本,版本不对,返回错误
	 * @param expire 超时时间  功能参见expire API
	 * @return 返回成功或者失败
	 */
	public ResultCode sadd(short namespace, Serializable key, Serializable value,
			short version, int expire);
	
	/**
	 * 获取对应Set的value的个数
	 * @param namespace 对应的namespace的名字
	 * @param key 对应的Set的名字
	 * @return 返回一个DataEntryLong key为输入的key,value为long型的个数  否则返回失败
	 */
	public Result scard(short namespace, Serializable key);
	
	/**
	 * 获取对应Set的所有value
	 * @param namespace 对应的namespace的名字
	 * @param key 对应的Set的名字
	 * @return 返回返回一个DataEntrySet,key为输入的key,value为Set表示返回的集合,
	 * 			否则失败返回错误码
	 */
	public Result smembers(short namespace, Serializable key);
	
	/**
	 * 随机从Set中去除掉一个value
	 * @param namespace 对应的namespace的名字
	 * @param key 对应的Set的名字
	 * @param version spop的带版本验证版本,版本不对,返回错误 
	 * @param expire 超时时间  功能参见expire API
	 * @return 返回一个DataEntrySimple, key为输入的key,value为去除的object
	 */
	public Result spop(short namespace, Serializable key, short version,
			int expire);
}