redis中list类型详解及常用命令
redis中的list类型有点类似于编程语言中的数组,list类型如下图所示,实际上是一种双向链表结构,通过lpush、lpop、rpush、rpop这几个命令来控制链表中数据出入,所以list类型可以用作栈,也可以用作队列一样。
从元素插入和删除的效率来看,如果从链表的两头插入或删除元素,会非常的高效,即使链表中已经存储了上百万条的记录,也可以在很短的时间内完成。然而需要说明的是,如果元素插入或删除操作是作用于链表中间,那将会是非常低效的。相信对于有良好数据结构基础的开发者而言,这一点并不难理解。
因此, redis链表经常会被用于消息队列的服务,以完成多程序之间的消息交换。
以下是链表类型(list)的一些常用命令:
1.【 lpush key value 】 往队列头部插入一个元素
2.【 rpush key value 】 从尾部插入一个元素
3.【 lpop key 】 从队列头部删掉一个元素
4.【 rpop key 】 从队列尾部删掉一个元素,并返回被删除元素的值
5.【 llen 】 返回队列的长度,即里面有多少个元素。不存在key返回0,不为队列类型的key会返回报错。
6.【 lrange key start end 】 返回队列从start到end之间的元素信息。
7.【 ltrim key start end 】 截取一个队列,只保留指定区间内的元素。
redis中list类型详解及常用命令相关推荐
- Redis 数据类型 Strings 类型详解
Redis 数据类型 Strings 类型详解 bitmap 操作 SETBIT • SETBIT key offset value 起始版本:2.2.0 时间复杂度:O(1) 设置或者清空key的v ...
- [转帖]Ipvsadm参数详解(常用命令)
Ipvsadm参数详解(常用命令) 2013年11月29日 12:41:40 怀素1980 阅读数:15901 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...
- C++中size_type类型详解
介绍 是和string类类型和vector类类型定义相关的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型 string抽象意义是字 ...
- Redis中事务用法详解
在关系型数据库中,事务是指一组命令的集合,这组命令构成了一个原子操作,这个操作要么全部执行成功,要么全部执行失败.而在非关系型数据库 Redis 中并非这样- Redis 中的事务同样也是一组命令的集 ...
- [转载] java 中 date类型详解
参考链接: Java中的date after()方法 举例: Date的after和before方法解释 Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时 ...
- 跳跃列表(Skip List)与其在Redis中的实现详解
目录 引子 认识跳表 跳表的提出 由二叉树回归链表 设计思想与查找流程 插入元素的概率性 复杂度分析 Redis的跳表实现 从zset到zskiplist 创建zskiplist 向zskiplist ...
- Redis系列之key操作命令与Redis中的事务详解(六)
From: http://www.cnblogs.com/knowledgesea/p/5008594.html 序言 本篇主要目的有二: 1.展示所有数据类型中key的所有操作命令,以供大家学习,查 ...
- nvidia-smi各个参数详解以及常用命令
1.nvidia-smi介绍 nvidia-sim简称NVSMI,提供监控GPU使用情况和更改GPU状态的功能,是一个跨平台工具,支持所有标准的NVIDIA驱动程序支持的Linux和WindowsSe ...
- Nmap命令详解及常用命令总结
Nmap学习 文章目录 Nmap学习 0 Nmap 介绍 1 Nmap命令详解 1.1 Nmap 命令help详解(内附中文翻译) 1.2 Nmap 命令思维导图 2 Nmap 常见使用场景以及相关命 ...
最新文章
- 详解图像滤波原理及实现!
- .NET仓储模式高级用例
- 前端三部曲之Html -- 1(html的基本结构和常见的meta标签的作用)
- EntityFramework Core 3.x上下文构造函数可以注入实例呢?
- With you With me
- VS中生成、清理项目、调试、開始运行(不调试)、Debug 和 Release等之间的差别...
- 前几天入手一大菠萝,写个初始化教程
- topcoder srm 525 div1
- 架设WIN32汇编程序的开发环境
- elastaticresearch 学习过程
- SpringMVC之安全性(三)Twitter登入
- Atitit 标记语言ML(Markup Language) v4 目录 1. 标记语言ML Markup Language	1 1.1. 简介	1 2. 置标语言置标语言通常可以分为三类:标识性的
- C++ 操作PDFlib实例
- 脉冲耦合神经网络(PCNN)的python实现
- 读:H2-MIL: Exploring Hierarchical Representation with Heterogeneous Multiple Instance Learning for...
- saas系统和php mysql的区别_saas系统和传统erp的区别是什么?
- php 插件推荐,Typecho实用插件推荐(一)
- Android 使用ADB命令向上滑动解锁
- stormzhang的推荐!
- ucenter单点登录