Redis中List实现双链表

2023-12-07 0 330
目录
  • 概述:
  • 特征:(与LinkedList类似)
  • List常见命令
    • 1.Lpush key element…..:向列表左侧插入一个或多个元素
    • 2.LPOP key :移除并返回列表左侧的第一个元素,没有则返回nil
    • 3.RPUSH key element…:向列表右侧插入一个或多个元素
    • 4.RPOP key :移除并返回列表左侧的第一个元素,没有则返回nil
    • 5.LRANGE key star end:返回一段角标范围内的所有元素
    • 6.BLPOP和BRPOP:与LPOP和RPOP类似,只不过在没有元素是等待指定时间,而不是直接返回nil
  • 遗留下的问题:

    概述:

    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双链表内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悠久资源 Redis Redis中List实现双链表 https://www.u-9.cn/database/redis/122980.html

    常见问题

    相关文章

    发表评论
    暂无评论
    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务