【转行测试开发-redis】(五)---使用redis的数据类型列表list
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.
【转行测试开发-redis】(五)---使用redis的数据类型列表list
精选 原创昨天讲了使用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 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服务器是否开启.
启动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
程序一直在往里加数据. 今天先到这里了,大家晚安
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK