目录
使用命令 lpush,lrange,rpush
使用命令 lpop 和 rpop
使用命令 blpop,brpop
使用命令 llen
关于 redis list 列表类型的相关命令推荐看Redis - list 列表
要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis
本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)
使用命令 lpush,lrange,rpush
/**
* 使用命令 lpush,lrange,rpush
* */
public static void test1(Jedis jedis){
//清除 redis 所有数据库中的所有数据
jedis.flushAll();
//向 redis 中插入类型为 list 的键值对(向左依次插入数据),返回值为插入该数据后列表中的数据个数
long result1=jedis.lpush("key1","111","222","333");
System.out.println("result1:"+result1);
//获取列表中指定范围内的数据
List<String> result2=jedis.lrange("key1",0,-1);
System.out.println("result2:"+result2);
//向 redis 中插入类型为 list 的键值对(向右依次插入数据),返回值为插入该数据后列表中的数据个数
long result3=jedis.rpush("key2","111","222","333");
System.out.println("result3:"+result3);
//获取列表中指定范围内的数据
List<String> result4=jedis.lrange("key2",0,-1);
System.out.println("result4:"+result4);
}
运行结果:
使用命令 lpop 和 rpop
/**
* 使用命令 lpop 和 rpop
* */
public static void test2(Jedis jedis){
//清除 redis 所有数据库中的所有数据
jedis.flushAll();
//向 redis 中插入类型为 list 的键值对(向右依次插入数据),返回值为插入该数据后列表中的数据个数
jedis.rpush("key1","111","222","333");
List<String> result1=jedis.lrange("key1",0,-1);
System.out.println("result1:"+result1);
//从左边弹出 key1 列表中的 1 个数据
String result2=jedis.lpop("key1");
System.out.println("result2:"+result2);
//从右边弹出 key1 列表中的 2 个数据
String result3=jedis.rpop("key1");
System.out.println("result3:"+result3);
}
运行结果:
使用命令 blpop,brpop
/**
* 使用 blpop,brpop
* brpop 和 blpop 几乎相同,所以不再赘述
* */
public static void test3(Jedis jedis){
//清除 redis 所有数据库中的所有数据
jedis.flushAll();
//监视列表 key1 ,当列表中有数据时表现和 lpop 相同,当没有数据时进入阻塞,阻塞 2 秒
//返回值是列表但只有两个元素,第一个元素代表从哪个 key 中得到了数据,第二个元素代表得到的数据是什么
List<String> result1=jedis.blpop(2,"key1");
System.out.println("result1:"+result1);
jedis.rpush("key2","111");
//监视列表 key2 和 key3 ,当两个列表都没有数据时进入阻塞,阻塞 2 秒(某个列表有数据就能获取到)
List<String> result2=jedis.blpop(2,"key2","key3");
System.out.println("result2:"+result2);
}
运行结果:
使用命令 llen
/**
* 使用 llen
* */
public static void test4(Jedis jedis){
//清除 redis 所有数据库中的所有数据
jedis.flushAll();
jedis.rpush("key1","111","222","333");
List<String> result1=jedis.lrange("key1",0,-1);
System.out.println("result1:"+result1);
//获取列表 key1 中的元素个数
long result2=jedis.llen("key1");
System.out.println("result2:"+result2);
}
运行结果: