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

com.mizhousoft.redis.command.ListCommand Maven / Gradle / Ivy

The newest version!
package com.mizhousoft.redis.command;

import java.util.List;

/**
 * ListCommand
 *
 * @version
 */
public interface ListCommand
{
	/**
	 * 获取指定key的范围内的value值的 list列表。 (0 -1)返回所有值列表
	 * 
	 * @param key
	 * @param start
	 * @param end
	 * @return
	 * @see Redis Documentation: LRANGE
	 */
	List lrange(String key, long start, long end);

	/**
	 * 保留key指定范围内的列表值。其它的都删除
	 * 
	 * @param key
	 * @param start
	 * @param end
	 * @see Redis Documentation: LTRIM
	 */
	boolean ltrim(final String key, Long start, Long end);

	/**
	 * 获取key 列表的长度
	 * 
	 * @param key
	 * @return
	 * @see Redis Documentation: LLEN
	 */
	Long llen(final String key);

	/**
	 * 写入缓存,是左面进入 先进后出
	 * 
	 * @param key
	 * @param value
	 * @return
	 * @see Redis Documentation: LPUSH
	 */
	Long lpush(final String key, String value);

	/**
	 * 多个值写入缓存,是左面进入 先进后出
	 * 
	 * @param key
	 * @param values
	 * @return
	 * @see Redis Documentation: LPUSH
	 */
	Long lpush(final String key, String... values);

	/**
	 * 如果列表存在,则在列表左边插入值value
	 * 
	 * @param key
	 * @param value
	 * @return
	 * @see Redis Documentation: LPUSHX
	 */
	Long lpushx(final String key, String value);

	/**
	 * 写入缓存,是右边面进入 先进先出
	 * 
	 * @param key
	 * @param value
	 * @return
	 * @see Redis Documentation: RPUSH
	 */
	Long rpush(final String key, String value);

	/**
	 * 多个值写入缓存,是右边面进入 先进先出
	 * 
	 * @param key
	 * @param values
	 * @return
	 * @see Redis Documentation: RPUSH
	 */
	Long rpush(final String key, String... values);

	/**
	 * 如果列表存在,则在列表右边插入值value
	 * 
	 * @param key
	 * @param value
	 * @return
	 * @see Redis Documentation: RPUSHX
	 */
	Long rpushx(final String key, String value);

	/**
	 * 设置key列表中指定位置的值为value index不能大于列表长度。大于抛出异常,为负数则从右边开始计算
	 * 
	 * @param key
	 * @param index
	 * @param value
	 * @see Redis Documentation: LSET
	 */
	boolean lset(final String key, Long index, String value);

	/**
	 * 删除列表中第一个遇到的value值。count指定删除多少个,count为0则全部删除
	 * 
	 * @param key
	 * @param count
	 * @param value
	 * @return
	 * @see Redis Documentation: LREM
	 */
	Long lrem(final String key, Long count, String value);

	/**
	 * 通过索引获取列表中的元素 (大于0从左边开始,小于0从右边开始)
	 * 
	 * @param key
	 * @param index
	 * @return
	 * @see Redis Documentation: LINDEX
	 */
	String lindex(final String key, Long index);

	/**
	 * 移除列表中的第一个值,并返回该值
	 * 
	 * @param key
	 * @return
	 * @see Redis Documentation: LPOP
	 */
	String lpop(final String key);

	/**
	 * 移除列表中的最后一个值,并返回该值
	 * 
	 * @param key
	 * @return
	 * @see Redis Documentation: RPOP
	 */
	String rpop(final String key);

	/**
	 * 在key的列表中插入一个新的value.如果 指定的value不存在则不插入任何值
	 * 
	 * @param key
	 * @param pivot
	 * @param value
	 * @return
	 * @see Redis Documentation: LINSERT
	 */
	Long linsert(final String key, boolean before, String pivot, String value);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy