Redis简单入门四——对List操作

来源:互联网 发布:中国医科大学网络教育 编辑:程序博客网 时间:2024/06/05 10:08

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

1、LPUSH key value1 [value2] :将一个或多个值插入到列表头部。

2、LRANGE key start stop:获取列表指定范围内的元素。

3、LLEN key:获取列表长度。  4、RPUSH key value1 [value2] :在列表中添加一个或多个值,加到列表的位置与LPUSH相反。

5、RPUSHX key value:为已存在的列表添加值。 6、LSET key index value:通过索引设置列表元素的值。

7、RPOPLPUSH source destination:移除列表的最后一个元素,并将该元素添加到另一个列表并返回。

8、RPOP key:移除并获取列表最后一个元素。  9、LREM key count value:移除列表元素。

10、LPOP key:移出并获取列表的第一个元素。11、LINDEX key index:通过索引获取列表中的元素。

12、LINSERT key BEFORE|AFTER pivot value:在列表的元素前或者后插入元素。

13、LPUSHX key value:将值插入到已存在的列表头部。

14、LTRIM key start stop:对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

16、BRPOPLPUSH source destination timeout:从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

17、BRPOP key1 [key2 ] timeout:移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

18、BLPOP key1 [key2 ] timeout:移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

代码实现:

public class RedisTest{

private static Jedis instanceJedis(){
return JedisUtil.getInstance();
}

public static void main(String[] args) {
     Jedis jedis = instanceJedis();
     String key = "listKey";
     String desKey = "listKey2";
     jedis.lpush(key, "listValue1","listValue2");
     jedis.lpush(desKey, "v1","v2");
     System.out.println("获取列表指定范围内的元素:"+jedis.lrange(key, 0, 2));
     System.out.println("获取列表长度:"+jedis.llen(key));
     jedis.rpush(key, "listValue3");
     jedis.rpushx(key, "listValue4");
     System.out.println("获取列表指定范围内的元素:"+jedis.lrange(key, 0, 10));
     //通过索引设置列表元素的值
     jedis.lset(key, 0, "firstValue");
     System.out.println("移除列表的最后一个元素,并将该元素添加到另一个列表并返回:"+jedis.rpoplpush(key, desKey));
     System.out.println("移除并获取列表最后一个元素:"+jedis.rpop(key));
     //移除列表元素
     jedis.lrem(key, 1, "listValue4");
     System.out.println("移出并获取列表的第一个元素:"+jedis.lpop(key));
     System.out.println("通过索引获取列表中的元素:"+jedis.lindex(key, 1));
     //在列表的元素前或者后插入元素
     jedis.linsert(key, LIST_POSITION.AFTER, "listValue5", "listValue2");
     //将一个或多个值插入到已存在的列表头部
     jedis.lpushx(key, "listValue6");
     System.out.println("获取列表指定范围内的元素:"+jedis.lrange(key, 0, 10));
     jedis.ltrim(key, 0, 1);
     System.out.println("获取列表指定范围内的元素:"+jedis.lrange(key, 0, 10));
     jedis.brpoplpush(key, desKey, 10);
     jedis.brpop(1, key);
     jedis.blpop(1, key);
     System.out.println("获取列表指定范围内的元素:"+jedis.lrange(key, 0, 10));
}

}

输出如下:

获取列表指定范围内的元素:[listValue2, listValue1, listValue1]
获取列表长度:3
获取列表指定范围内的元素:[listValue2, listValue1, listValue1, listValue3, listValue4]
移除列表的最后一个元素,并将该元素添加到另一个列表并返回:listValue4
移除并获取列表最后一个元素:listValue3
移出并获取列表的第一个元素:firstValue
通过索引获取列表中的元素:listValue1
获取列表指定范围内的元素:[listValue6, listValue1, listValue1]
获取列表指定范围内的元素:[listValue6, listValue1]
获取列表指定范围内的元素:[]

0 0
原创粉丝点击