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

com.yuweix.kuafu.data.cache.Cache Maven / Gradle / Ivy

There is a newer version: 2.0.0
Show newest version
package com.yuweix.kuafu.data.cache;


/**
 * @author yuwei
 */
public interface Cache {
	/**
	 * @param key
	 * @return
	 */
	boolean contains(String key);

	/**
	 * @param key
	 * @param timeout 过期时间(s)。
	 */
	void expire(String key, long timeout);

	/**
	 * @param key
	 * @param value
	 * @param timeout 过期时间(s)。
	 * @return
	 */
	boolean put(String key, T value, long timeout);
	T get(String key);

	boolean putSplit(String key, String value, long timeout, int maxLength);
	String getSplit(String key);
	void removeSplit(String key);

	/**
	 * @param key
	 */
	void remove(String key);

	boolean lock(String key, T owner, long timeout);
	/**
	 * @param key
	 * @param owner
	 * @param timeout 单位:秒。
	 * @param reentrant   是否可重入
	 * @return
	 */
	boolean lock(String key, T owner, long timeout, boolean reentrant);
	/**
	 * 尝试获取锁,不管成功失败,返回锁的持有者。如果持有者是自己,重入。
	 */
	T tlock(String key, T owner, long timeout);
	boolean unlock(String key, T owner);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy