Redis的List链表类型命令
List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。
链表类似于数组,元素有索引值,从左->右依次为:第0 1 2 3 4...个元素;可以按索引(下标)值进行读取(lindex)、更新(lset)链表的元素值,如下图:
List链表类型 | |
从左端压入元素 | >lpush mylist1 hello 从左压入一个值 >lpush mylist1 zhangsan lisi |
从右端压入元素 | >rpush mylist2 a b c 3 4 e 从右一次压入多个元素 返回:返回压入元素后的元素总数 |
在特定位置前或后插入1个元素 | >linsert mylist1 before h xyz 对mylist1链表,在“h”的前面(左边)插入“xyz” >linsert mylist1 after f qq 返回:返回压入元素后的元素总数 |
按索引顺序重置元素值 | >lset mylist2 0 PHP 将mylist2链表,第0个元素(首个元素)值重置为“PHP” 返回:成功返回OK 注:索引下标类似数组,从左->右依次为:第0 1 2 3 4...个元素;每次重置一个元素 |
删除指定值的元素 | >lrem mylist1 2 PPP n>0表示从 左->右 顺序,删除最先遇到2个值为“PPP”的元素 >lrem mylist1 -2 PPP >lrem mylist2 0 PPP 返回:返回实际删除的元素个数 |
保留指定范围内的数据 (范围外的删除) |
>ltrim mylist2 1 -2 保留n1=1 n2=-2范围内的值 注:第一个偏移从首0计数(需n1>=0),第二个偏移正负均可(首、尾偏移值均为-1); |
从左侧弹出(删除)一个元素 | >lpop mylist1 从左侧弹出1个元素 返回:返回被弹出的元素值 |
从右侧弹出(删除)一个元素 | >rpop mylist1 从右侧弹出1个元素 返回:返回被弹出的元素值 |
从第一个链表右侧弹出一个元素 并将此元素压入到第二个链表的左侧 |
>rpoplpush mylist1 mylist2 从mylist1右弹出一个元素,并压入到mylist2左侧 (mylist1 -> mylist2) 返回:返回被弹出压入的元素 |
部分获取list链表元素值 | >lrange mylist1 0 -1 获取全部元素 >lrange mylist1 2 4 部分获取元素 注:第一个偏移从首0计数(需n1>=0),第二个偏移正负均可(首、尾偏移值均为-1); |
按索引顺序获取元素值 | >lindex mylist1 0 获取第0个元素 返回:返回获取的元素值 注:索引下标类似数组,从左->右依次为:第0 1 2 3 4...个元素; |
获取链表长度(元素总数) | >llen mylist1 查看mylist1链表长度 返回:返回元素总个数 |
Redis的List链表类型命令的更多相关文章
- Redis之无序集合类型命令
Redis 集合(Set) Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找 ...
- Redis之哈希类型命令
Hash(哈希) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿 ...
- Redis之字符串类型命令
String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value. string 类型是二进制安全的.意思是 ...
- Redis数据结构及相应的命令
Redis可以存储键(key)与5种不同类型值(value)之间的映射,5中不同类型的值分别为字符串(string),列表(list),散列(hash),集合(set)和有序集合(sorted set ...
- redis(2)---redis基本数据类型及常见命令
Redis的魅力 缓存大致可以分为两类,一种是应用内缓存,比如Map(简单的数据结构),以及EH Cache(Java第三方库),另一种就是缓存组件,比如Memached,Redis:Redis(re ...
- 尚硅谷redis学习4-数据类型
redis的数据类型包括String,Hash(类似于JAVA里的map),List,Set,Zset(sorted Set) String(字符串) string是redis最基本的类型,你可以理解 ...
- Redis的数据类型及其常用命令
快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...
- 【Redis】基本数据类型及命令操作(超详细)
一.String 1.1 概述 1.2 相关命令列表 1.3 命令示例 二.List 2.1 概述: 2.2 相关命令列表: 2.3 命令示例: 2.4 链表结构的小技巧: 三.Hashes 3.1 ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
随机推荐
- 一次性搞定Session
相信很多人遇到过同一个浏览器会出现Session覆盖问题.今天主要针对Session覆盖问题来看看Session是如何工作的.那么先看一张简单的图说明一下 上面的图大致的说明Session工作简单创建 ...
- Linux 优化详解
一.引子 系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不是说现在又花了.测试了,以后就可以一劳永逸,而不是说 ...
- java之接口开发-初级篇-socket通信
socket通信实现util包类实现 public class SocketThread extends Thread { public void run() { while (true) { // ...
- 苹果全球营销高级副总裁Phil Schiller曾考虑炒掉长期创意代理商Media Arts Lab
来自<华尔街日报>消息,从去年开始,三星就利用广告来讽刺苹果产品.苹果全球营销高级副总裁菲尔•席勒(Phil Schiller)曾一度考虑炒掉该公司的长期创意代理商Media Arts L ...
- [shell] awk学习
awk处理最后一行 awk '{if(NR>1)print a;a=$0}END{print a="b"}' file awk 'BEGIN{getline a}{print ...
- php异步学习(2)
PHP开启异步多线程执行脚本 场景要求 客户端调用服务器a.php接口,需要执行一个长达5s-20s不等的耗资源操作,但是客户端响应请求时间为5秒(微信公众账号服务器请求响应超时时间),5s以上无 ...
- Scrum立会报告+燃尽图(十月二十一日总第十二次)
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2246 项目地址:https://git.coding.net/zhang ...
- c# webBrowser清除缓存问题
1.webBrowser的浏览器为ie. 2.通过清除ie缓存即可. 3.代码调用如下: public enum ShowCommands : int { SW_HIDE = , SW_SHOWNOR ...
- P4 Runtime和p4 info
p4runtime P4 Runtime是一套基于Protobuf以及gRPC框架上的协议,通过P4runtime,SDN控制器可以控制能够支援p4的设备. p4runtime当前由p4 API wo ...
- 第17章 程序管理与SELinux初探
什么是进程 触发任何一个事件时,系统都会将它定义为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程的用户与相关属性关系,给予这个进程一组有效的权限设置. 进程与程序 进程:执行一个 ...