热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Redis初识~List命令

Redis的列表允许用户从序列的两端推入元素或者弹出元素。


LuckQI

在这里你可以得到不只是技术,关注即可习得新技能

 

List命令

    Redis的列表允许用户从序列的两端推入元素或者弹出元素。可以来创建常见的队列信息。

List常用命令

  1.  blpop: 列表阻塞式弹出。当在查询如果指定得key 都是空列表那么会一直等待。如果存在得key中有值那么会取出值来。不建议放在事务中MULTI/EXEC中。时间复杂度为O(1)。模式:事件提醒。为了等待一个元素得到达列表中会采用轮询得方式来进行探查。另一种好得方式是使用阻塞原语。在新元素没有到达得时候阻塞住,避免轮询占用资源。blpop key key key timeout 

  2. brpop: 同上,阻塞惭怍。

  3. brpoplpush: 阻塞版本。从一个列表中取出元素,然后放入到目标列表中。 brpoplpush source destination timeout. 超时参数timeout接收一个秒为单位得数字作为值。 设为0表示无限期延长。 时间复杂度为O(1). 

  4. lindex: 返回劣种key中 下表为index得元素。  0代表第一个元素 ,-1代表 最后一个元素。时间复杂度O(N) .n为下标index 过程中经过得元素数量。第一个元素和最后一个元素 时间复杂度是O(1);

  5. linsert: linsert key before | after pivot value 将值value 插入到列表key中。位于值pivot之前和之后。 pivot 不存在得时候不执行操作。key 不存在 也不执行操作。linsert key before pivot value

  6.  llen:返回列表key得长度,key不存在 返回0 .不是列表类型返回一个错误 llen key。时间复杂度O(1);

  7. lpop: 移除并返回列表key中得头元素。 时间复杂度为O(1); key不存在得时返回nil。

  8. lpush: 将一个value 或者多个value插入到列表中。  如果key不存在 一个空列表会被创建并执行lpush操作。时间复杂度是O(1); lpush key value

  9. lrange:取回列表中区间内得元素。区间以偏移量start 和stop 指定。但是这个操作不会移除选择得元素。时间复杂度O(S+N) S是偏移量start N为指定区间内得元素得数量。 lrange key start stop 

  10. lrem: 根据参数count得值 移除列表中与参数value相等得元素。count 可以是0 大于0 或者小于0 。0代表移除表中得与value相等得所有元素。 大于0 代表从表头开始索索。移除与value相等得值 数量为count.小于0 同理。从表尾开始搜索。

  11. lset: 将列表key 下表为index得元素设置为value. 当index 超出范围 或者key 不存在 时返回一个错误。时间复杂度:O(N)。N为列表的长度。

  12. ltrim:对一个列表进行修剪,只保留区间内的元素。当选择的key不是一个列表类型的时候。返回一个错误类型。ltrim key start stop 双闭。 时间复杂是O(N),N为被移除的元素的数量。

  13. rpop:移除并返回列表key的尾元素 时间复杂度是O(1);key不存在的时 ,返回nil.

  14. rpoplpush:rpoplpush soruce destionation .同brpoplpush . 

  15. rpush:将一个或多个值 value 插入到列表 key 的表尾. rpush key value value

  16.  rpushx:将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。



戳下面的原文阅读,更有料


推荐阅读
  • 006_Redis的List数据类型
    1.List类型是一个链表结构的集合,主要功能有push,pop,获取元素等。List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,List的设 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • python中安装并使用redis相关的知识
    本文介绍了在python中安装并使用redis的相关知识,包括redis的数据缓存系统和支持的数据类型,以及在pycharm中安装redis模块和常用的字符串操作。 ... [详细]
  • x86 linux的进程调度,x86体系结构下Linux2.6.26的进程调度和切换
    进程调度相关数据结构task_structtask_struct是进程在内核中对应的数据结构,它标识了进程的状态等各项信息。其中有一项thread_struct结构的 ... [详细]
  • C++ STL复习(13)容器适配器
    STL提供了3种容器适配器,分别为stack栈适配器、queue队列适配器以及priority_queue优先权队列适配器。不同场景下,由于不同的序列式 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Python中的PyInputPlus模块原文:https ... [详细]
  • 【爬虫】关于企业信用信息公示系统加速乐最新反爬虫机制
    ( ̄▽ ̄)~又得半夜修仙了,作为一个爬虫小白,花了3天时间写好的程序,才跑了一个月目标网站就更新了,是有点悲催,还是要只有一天的时间重构。升级后网站的层次结构并没有太多变化,表面上 ... [详细]
author-avatar
彭元蓮_198
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有