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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值