4

【转行测试开发-redis】(五)---使用redis的数据类型列表list

 1 year ago
source link: https://blog.51cto.com/u_11894/5849567
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【转行测试开发-redis】(五)---使用redis的数据类型列表list

精选 原创

小小迷糊 2022-11-14 16:49:12 博主文章分类:测试 ©著作权

文章标签 redis 数据 java 测试 测试开发 文章分类 IT职场 其它 yyds干货盘点 阅读数177

昨天讲了使用java里maven配置redis来连接redis数据库,操作并获取数据库中的值.今天我们来说下另一个常用的数据类型---列表list

   Redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边). 下面我们说下redis列表的命令:

1 BLPOP key1 [key2 ] timeout

移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 

2 BRPOP key1 [key2 ] timeout

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

3 BRPOPLPUSH source destination timeout

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

4 LINDEX key index

通过索引获取列表中的元素 

5 LINSERT key BEFORE|AFTER pivot value

在列表的元素前或者后插入元素 

6. LLEN key

获取列表长度 

7. LPOP key

移出并获取列表的第一个元素 

8. LPUSH key value1 [value2]

将一个或多个值插入到列表头部 

9. LPUSHX key value

将一个值插入到已存在的列表头部 

10. LRANGE key start stop

获取列表指定范围内的元素 

11. LREM key count value

移除列表元素 

12. LSET key index value

通过索引设置列表元素的值 

13. LTRIM key start stop

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

14. RPOP key

移除列表的最后一个元素,返回值为移除的元素。 

15. RPOPLPUSH source destination

移除列表的最后一个元素,并将该元素添加到另一个列表并返回 

16. RPUSH key value1 [value2]

在列表中添加一个或多个值 

17. RPUSHX key value

为已存在的列表添加值 

使用java语言来给大家演示一些:

import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import java.util.List;
public class RedisJavaDemo {

public RedisJavaDemo(){
//Java连接本地,数据类型为list
Jedis jedis = new Jedis("localhost");
//存储数据到列表中
jedis.lpush("LG","China");
jedis.lpush("ZL","Japan");
jedis.lpush("CLF","UK");
jedis.lpush("LG","123");
jedis.lpush("LG","hospatol");
jedis.lpush("LG","12","Hello");
jedis.set("name","200");
System.out.println(jedis.get("name"));
System.out.println(jedis.lrange("LG",0,-1));
//将redis列表中的数据取出来
List<String> list = jedis.lrange("LG",0,-1);
for (String str:list
) {
System.out.println("redis中列表的数据为: " + str);
}

}

public static void main(String[] args){
//类的实例化,新建一个对象
RedisJavaDemo rjd = new RedisJavaDemo();
//使用Java连接本地redis
Jedis jedis = new Jedis("localhost");
//判断下redis是不是超时或者没有连接上
if (!jedis.ping().equals("PONG")){
System.out.println("本地redis超时了");
return;
}
Long m = jedis.clientId();
System.out.println(m);
//确认redis服务是否运行
System.out.println("服务正在运行: " + jedis.ping());
String str = jedis.get("key");
System.out.println(str);
jedis.set("china","No.1");
String str1 = jedis.get("china");
System.out.println(str1);
}

}
【转行测试开发-redis】(五)---使用redis的数据类型列表list_测试
【转行测试开发-redis】(五)---使用redis的数据类型列表list_测试开发_02
【转行测试开发-redis】(五)---使用redis的数据类型列表list_数据_03

报错了,原来是我还没有启动redis的本地服务器.程序里我们判断下redis服务器是否开启.

启动redis服务器后,得到的返回值为:

[Hello, 12, hospatol, 123, China, Hello, 12, hospatol, 123, China, Hello, 12, hospatol, 123, China, Hello, 12, hospatol, 123, China, Hello, 12, hospatol, 123, China]

redis中列表的数据为: Hello

redis中列表的数据为: 12

redis中列表的数据为: hospatol

redis中列表的数据为: 123

redis中列表的数据为: China

redis中列表的数据为: Hello

redis中列表的数据为: 12

redis中列表的数据为: hospatol

redis中列表的数据为: 123

redis中列表的数据为: China

redis中列表的数据为: Hello

redis中列表的数据为: 12

redis中列表的数据为: hospatol

redis中列表的数据为: 123

redis中列表的数据为: China

redis中列表的数据为: Hello

redis中列表的数据为: 12

redis中列表的数据为: hospatol

redis中列表的数据为: 123

redis中列表的数据为: China

redis中列表的数据为: Hello

redis中列表的数据为: 12

redis中列表的数据为: hospatol

redis中列表的数据为: 123

redis中列表的数据为: China

服务正在运行: PONG

程序一直在往里加数据. 今天先到这里了,大家晚安


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK