返回顶部
首页 > 资讯 > 数据库 >Redis中List实现双链表
  • 312
分享到

Redis中List实现双链表

RedisList双链表Redis双链表 2023-06-09 09:06:01 312人浏览 薄情痞子
摘要

目录概述:特征:(与LinkedList类似)List常见命令1.Lpush key element.....:向列表左侧插入一个或多个元素 2.LPOP key :移除并返回列表左侧的第一个元素,没有则返回n

概述:

Redis中的list类型与Java中的LinkedList集合类似,可以看作是一个双向的链表结构,既可以支持正向的检索,也可以支持反向的检索

特征:(与LinkedList类似)

1.有序

2.元素可以重复

3.插入与删除一样快

4.查询速度一般(遍历所有节点来查询)

常用来储存一有序的数据,例如:朋友圈点赞列表,评论列表,等..........

List常见命令

1.Lpush key element.....:向列表左侧插入一个或多个元素

2.LPOP key :移除并返回列表左侧的第一个元素,没有则返回nil

3.RPUSH key element...:向列表右侧插入一个或多个元素

4.RPOP key :移除并返回列表左侧的第一个元素

5.LRANGE key star end:返回一段角标范围内的所有元素

6.BLPOP和BRPOP:与LPOP和RPOP类似,只不过在没有元素是等待指定时间,而不是直接返回nil

1.Lpush key element.....:向列表左侧插入一个或多个元素

(1)在命令行里面写入数据

Redis中List实现双链表

(2)在图形工具查看数据(我们可以看到,在图形化界面的里面是是倒叙的,这是因为我们使用了头插法)

Redis中List实现双链表

 2.LPOP key :移除并返回列表左侧的第一个元素,没有则返回nil

(1)在命令行里面写入数据

Redis中List实现双链表

(2)在图形工具查看数据(我们可以看到,在图形化界面的里面是是倒叙的,这是因为我们使用了头插法)

Redis中List实现双链表

3.RPUSH key element...:向列表右侧插入一个或多个元素

(1)在命令行里面写入数据

(2)在图形工具查看数据(我们可以看到,在图形化界面的里面是是倒叙的,这是因为我们使用了头插法)

Redis中List实现双链表

4.RPOP key :移除并返回列表左侧的第一个元素,没有则返回nil

(1)在命令行里面写入数据

(2)在图形工具查看数据(我们可以看到,在图形化界面的里面是是倒叙的,这是因为我们使用了头插法)

Redis中List实现双链表

5.LRANGE key star end:返回一段角标范围内的所有元素

(1)新添加数据

Redis中List实现双链表

(2)在命令行里面写入数据

Redis中List实现双链表

6.BLPOP和BRPOP:与LPOP和RPOP类似,只不过在没有元素是等待指定时间,而不是直接返回nil

(1)在命令行里面写入数据(代表了在100秒之内如果发现就执行操作,否则一直堵塞在这里)

(2)新开一个cmd写入数据

(3)效果

遗留下的问题:

如何用List结构模拟出一个栈?

--入口与出口在一起(Lpush与Lpop,Rpush与Rpop)

如何利用List结构模拟出一个队列?

--入口与出口不在一起(Lpush与Rpop,Rpush与Lpop)

如何利用List结构模拟一个阻塞队列?

--也是队列,即入口与出口不在一起(Lpush与BRpop,Rpush与BLpop)

--出队的时候采用(BRpop,BLpop)

到此这篇关于Redis中List实现双链表的文章就介绍到这了,更多相关Redis List双链表内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Redis中List实现双链表

本文链接: https://lsjlt.com/news/255563.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Redis中List实现双链表
    目录概述:特征:(与LinkedList类似)List常见命令1.Lpush key element.....:向列表左侧插入一个或多个元素 2.LPOP key :移除并返回列表左侧的第一个元素,没有则返回n...
    99+
    2023-06-09
    Redis List双链表 Redis 双链表
  • python实现双链表
    本文实例为大家分享了python实现双链表的具体代码,供大家参考,具体内容如下 实现双链表需要注意的地方 1、如何插入元素,考虑特殊情况:头节点位置,尾节点位置;一般情况:中间位置2...
    99+
    2024-04-02
  • JAVA中怎么实现链表和双向链表
    这篇文章给大家介绍JAVA中怎么实现链表和双向链表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JAVA基础:语言中链表和双向链表的实现(转)[@more@]链表是一种重要的数据结构,在程序设计中占有很重要的地位。C语...
    99+
    2023-06-03
  • Redis 链表实现
    // 每个链表节点使用一个 ListNode 结构来表示typedef struct ListNode{ //前置节点 struct ListNode *prev; //后置节点 struct L...
    99+
    2015-01-11
    Redis 链表实现
  • Python实现双向链表
    之前写的单向链表和环形链表都只是单向的,只能单向遍历,不能根据后面的节点获取前面的节点,除非进行反转操作。 双向链表每个节点都有两个指针,这两个指针分别指向前后两个节点,这样就可以从...
    99+
    2024-04-02
  • Java实现双向链表
    本文实例为大家分享了Java实现双向链表的具体代码,供大家参考,具体内容如下 1、双向链表 1.1 双向链表的每个节点组成包含节点数据,上一个节点(pre),下一个节点(next) ...
    99+
    2024-04-02
  • 详解Redis中的双链表结构
    Redis中双链表实现的基本结构: 1.节点结构 typedef struct listNode { struct listNode *prev; //前向节点 struct listNode...
    99+
    2022-06-04
    详解 链表 结构
  • Redis中的双链表有什么用
    这篇文章主要介绍了Redis中的双链表有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在 Redis 数据类型中的列表list,对数据...
    99+
    2024-04-02
  • Python代码实现双链表
    本文实例为大家分享了Python代码实现双链表的具体代码,供大家参考,具体内容如下 双链表的每个节点有两个指针: 一个指向后一个节点,另一个指向前一个节点 class Node(ob...
    99+
    2024-04-02
  • Java实现双端链表LinkedList
    目录一、LinkedList 介绍二、LinkedList 使用一、LinkedList 介绍 1️⃣LinkedList 是 Java 集合框架中一个重要的实现,其底层采用的双向链...
    99+
    2024-04-02
  • python如何实现双链表
    本篇内容介绍了“python如何实现双链表”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现双链表需要注意的地方如何插入元素,考虑特殊情况:...
    99+
    2023-06-30
  • java中的双向链表怎么实现
    在Java中,可以使用自定义的双向链表类来实现双向链表。以下是一个简单的双向链表的实现示例: public class Doubly...
    99+
    2023-10-24
    java
  • C语言如何实现双向链表和双向循环链表
    本文小编为大家详细介绍“C语言如何实现双向链表和双向循环链表”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现双向链表和双向循环链表”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。双向链表和双向循环链表...
    99+
    2023-06-16
  • 基于python实现双向链表
    目录一、构建链表节点二、实现链表类三、测试逻辑在一些面试或者力扣题中都要求用双向链表来实现,下面是基于python的双向链表实现。 一、构建链表节点 class Node:    ...
    99+
    2024-04-02
  • python实现双向链表原理
    双向链表 一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另...
    99+
    2024-04-02
  • java模拟实现双向链表
    双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点 下图是双...
    99+
    2024-04-02
  • java代码实现双向链表
    本文实例为大家分享了双向链表java实现代码,供大家参考,具体内容如下 一、双向链表简介 1、单链表的缺陷 单链表只能从头结点开始访问链表中的数据元素,如果需要逆序访问单链表中的数据...
    99+
    2024-04-02
  • 基于Java实现双向链表
    本文实例为大家分享了Java实现双向链表的具体代码,供大家参考,具体内容如下 双向链表与单链表的对比: 1、单向链表查找只能是一个方向,双向链表可以向前或者向后查找2、单向链表不能自...
    99+
    2024-04-02
  • C++代码实现双向链表
    本文实例为大家分享了C++实现双向链表的具体代码,供大家参考,具体内容如下 双向链表:两个指针域,一个指向前结点,一个指向后结点 list.h #pragma once #defin...
    99+
    2024-04-02
  • C++怎么实现双向链表
    这篇“C++怎么实现双向链表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++怎么实现双向链表”文章吧。前言:前面文章分析...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作