目录
使用命令 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);}
运行结果: