数据类型-list 阻塞数据获取| 学习笔记

简介: 快速学习数据类型-list 阻塞数据获取

开发者学堂课程【Redis 入门到精通(基础篇)数据类型-list 阻塞数据获取】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/764/detail/13381


数据类型-list 阻塞数据获取

 

List类型数据扩展操作

规定时间内获取并移除数据

Blpop key1 [key2] timeout

Brpop key1 [key2] timeout

看了 list 的七个基本操作,我们这里再介绍两个扩展操作,叫做规定时间内获取并移除数据,

注意,这里使用的lpop跟rpop我们前面都见过,那么前面的字母b的意思是block,阻塞,这是lpop跟rpop对应的阻塞版本,我们看一个实验效果,打开进行添加,lpush list0 a b,然后进行取出,lpop list0,连续取两次,第三次取出时是无法取出的,nil,那么阻塞版本就是说现在这个列表里面没有,不意味着将来没有,那么就给出了一个可以等待,使用blpop list0 30,这时设定的是有一个30秒的等待时间,如果在这个时间里面有了,就取出,没有就停止,这个需要再开一个客户端,

在第二个客户端,输入lpush list0 c,然后在第一个客户端取出,此时取出一个c,如果再次重复,此时没有数据,blpop list0 5,最后结果就是nil,耗时5.05秒,再次执行blpop list0 10,回车后在第二个客户端快速键入一个lpush list0 d,然后在键入的一瞬间,第一客户端会出现取出的d,耗时4.70秒,在这个等待的过程,键入数据就马上取出,然后发现blpop key后面还有很多,

也就是说可以在多个列表中等待,得到数据后马上取出,然后得出数据,从哪取出等等,这就是一个任务的集合,一种任务队列,实现了任务的基础操作,这是blpop 对应的基本功能,那么对应的 rpop就不再说了,相似度非常高,把一些东西放到另外的里面,实质并不是特别重要的东西。

相关文章
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
326 4
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
存储 NoSQL 算法
Redis6入门到实战------ 三、常用五大数据类型(列表(List)、集合(Set)、哈希(Hash)、Zset(sorted set))
这是关于Redis 6入门到实战的文章,具体内容涉及Redis的五大数据类型:列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset(sorted set))。文章详细介绍了这些数据类型的特点、常用命令以及它们背后的数据结构。如果您有任何关于Redis的具体问题或需要进一步的帮助,请随时告诉我。
|
Java API 开发者
代码小妙招:用Java轻松获取List交集数据
在Java中获取两个 `List`的交集可以通过 `retainAll`方法和Java 8引入的流操作来实现。使用 `retainAll`方法更为直接,但会修改原始 `List`的内容。而使用流则提供了不修改原始 `List`、更为灵活的处理方式。开发者可以根据具体的需求和场景,选择最适合的方法来实现。了解和掌握这些方法,能够帮助开发者在实际开发中更高效地处理集合相关的问题。
497 1
|
索引
【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍
【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍
1249 3
|
Python
Python量化炒股的获取数据函数— get_billboard_list()
Python量化炒股的获取数据函数— get_billboard_list()
254 0
|
消息中间件 JSON NoSQL
Redis深度解析:核心数据类型之hash、list、set
Redis深度解析:核心数据类型之hash、list、set
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型list&set()
本文介绍了Python中list和set两种数据类型的使用,包括它们的创建、取值、增删改查操作、排序以及内置函数的使用,还探讨了list的比较函数和set的快速去重功能。
292 0
|
Python
【Pandas】Pandas的DataFrame按行插入list数据或者读取一行并存为csv文件
本文提供了使用Pandas库对DataFrame进行操作的示例代码。
841 0
|
Java Redis
redis-学习笔记(Jedis list简单命令)
redis-学习笔记(Jedis list简单命令)
162 1