一、引言
都 2021 年了 ~
竟然还有人不知道 redis 的list类型常用命令 ~
二、应用场景
list类型是用来存储多个有序的字符串的,支持存储2^32次方-1个元素。
redis可以从链表的两端进行插入(pubsh)和弹出(pop)元素,充当队列或者栈
支持读取指定范围的元素集
读取指定下标的元素等
三、List数据类型常用命令
package com.tianwang.springboot_porpdd.jedis;
import redis.clients.jedis.BinaryClient;
import redis.clients.jedis.Jedis;
/**
* @author WangYan
* @date 2021/9/16 11:10
* List 类型基本命令
*/
public class TestList {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost",6379);
// 所有的list命令都是以 l开头的
jedis.flushDB();
// 将一个值或者多个值,插入列表的头部 (左)
jedis.lpush("list","v1","v2","v3");
// 根据key,下标获取获取全部list 可以看出这个集合是先进后出 [v3, v2, v1]
System.out.println(jedis.lrange("list", 0, -1));
// [v3, v2]
System.out.println(jedis.lrange("list", 0, 1));
// 将一个值或者多个值,插入列表的尾部 (右)
jedis.flushDB();
jedis.rpush("list","v1","v2","v3");
// [v1, v2, v3]
System.out.println(jedis.lrange("list", 0, -1));
// 移除list的第一个元素
jedis.lpop("list");
System.out.println(jedis.lrange("list", 0, -1));
// 移除list的最后一个元素
jedis.rpop("list");
System.out.println(jedis.lrange("list", 0, -1));
// list通过下标获取值 从 0 开始
jedis.lindex("list",0);
// list的长度
jedis.llen("list");
jedis.flushDB();
// list移除指定的值
jedis.rpush("list","v1","v1","v2","v3");
jedis.lrem("list", 1, "v1");
System.err.println(jedis.lrange("list",0,-1));
jedis.flushDB();
// list截取某一段 [hello]
jedis.rpush("list","hello","v1","v2","v3");
jedis.ltrim("list",0,0);
System.err.println(jedis.lrange("list",0,-1));
/**
* 组合命令
* rpoplpush
* 移除list中的最后一个元素,将他移动到一个新的list集合中!
*/
jedis.flushDB();
jedis.rpush("list","hello1","hello2","hello3");
System.out.println((jedis.lrange("list", 0, -1)));
jedis.rpoplpush("list","mylist");
System.err.println(jedis.lrange("mylist", 0, -1));
/**
* lset
* 将列表中指定的值替换成另外一个值,更新操作 ! 如果下标不存在,就会更新报错 !
*/
jedis.lset("mylist",0,"kkt");
System.out.println(jedis.lrange("mylist", 0, 0));
/**
* linsert
* 将某个元素插入到list集合中某个值的前面或者后面 !
*/
jedis.flushDB();
jedis.rpush("myList","wo","kkt");
jedis.linsert("myList", BinaryClient.LIST_POSITION.BEFORE,"kkt","like");
System.out.println(jedis.lrange("myList", 0, -1));
}
}
四、总结
以上就是redis中List基本数据类型常用的命令,大家可自己上手亲测 ~