Redis list(列表)
Redis列表是简单的字符串列表,列表是有序的,列表中的元素可以重复。
可以添加一个元素到列表的头部(左边)或者尾部(右边)
一个列表最多可以包含 232 - 1 个元素 (40多亿)。
1、lpush key value1 value2 ..... //往列表的头部(左边)推入一个或多个元素,lpush的l表示left。key是列表名称,把列表中的所有元素作为一个整体(value)。若key不存在,会自动创建。
示例:
lpush students "zhangsan" "lisi" "wangwu" //返回操作后列表中的总元素个数
先在列表头部添加“zhangsan”,再在列表头部添加“lisi”,接着在列表头部添加“wangwu”,最后列表的前三个元素依次是"wangwu"、“lisi”、“zhangsan”。
2、lpushx key value1 value2 ...... //同上,只是key不存在时,不执行操作(不会自动创建)。要key已存在且key时list类型时才会添加元素。
3、lpop key //弹出列表的第一个元素,会从列表中移除并返回该元素。
l表示left,列表的头部。
4、rpush key value1 value2 .... //在列表尾部推入1个或多个元素。
5、rpushx key value1 value2 ..... //尾部,key已存在时才会推入。
6、rpop //弹出列表的最后一个元素
r表示right,列表的尾部。
上面的l、r命令是一一对应的。
7、rpoplpush sourceKey destKey //弹出sourceKey的最后一个元素,并在destKey的头部推入元素,即剪切。返回该元素。rpoplpush即对sourceKey执行rpop,对destKey执行lpush。
8、blpop key1 key2 .... timeout //弹出一个或多个的列表的第一个元素,如果列表为空会阻塞列表直到等待超时或发现可弹出元素为止。blpop即bind lpop。
示例: blpop students //60s
9、brpop key1 key2 ..... timeout
10、brpoplpush sourceKey destKey timeout
11、llen key //返回列表中的元素个数
12、lset key index value //给指定索引处的元素设置值(即修改元素值)
13、lindex key index //根据index索引元素,返回指定位置上的元素
14、lrange key start end //返回[start,end]区间上的所有元素。start、end是索引,比如0 -1 就是返回所有元素。
15、ltrim key start end //修剪列表,只保留[start,end]区间上的元素,其余元素会被删除。
16、linsert key before/after value1 value2 //在元素value1之前/之后插入元素value2。value2是要插入的元素。
示例: linsert student before "lisi" "zhangsan" //在lisi的前面插入zhangsan
插入成功,返回操作后列表的总长度;若value1不存在,返回-1;若key不存在或key是一个空的list,则返回0.
17、lrem key count value //移除列表中值为value的所有元素。lrem即list remove。count是一个整数,表示要删除的个数、搜索方向。
count>0:从表头向表尾搜索,移除count个值为value的元素
count<0:从表尾向表头搜索,移除count的绝对值个值为value的元素
count=0:移除表中所有的值为value的元素。要遍历列表,从哪边开始结果、速度都是一样的。
示例: lrem scores 移除列表中所有的90
以上几个命令中,l表示list。index从0开始,支持负数索引,index要是已存在的
Redis的区间,都是闭区间,[start,end],两边都包含。
Redis list(列表)的更多相关文章
- Redis压缩列表原理与应用分析
摘要 Redis是一款著名的key-value内存数据库软件,同时也是一款卓越的数据结构服务软件.它支持字符串.列表.哈希表.集合.有序集合五种数据结构类型,同时每种数据结构类型针对不同的应用场景又支 ...
- redis数据类型-列表类型
列表类型 列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段. 列表类型内部是使用双向链表(double linked list)实现的,所以向 ...
- redis学习-列表(list)常用命令
redis学习-列表(list)常用命令 lpush:从列表左侧头部添加数据 rpush:从右侧尾部添加数据 lpop:从给左侧头部取出一个元素 rpop:从右侧尾部取出一个元素 lrange:取 ...
- Redis 操作列表数据
Redis 操作列表数据: > lpush list1 "aaa" // lpush 用于追加列表元素,默认追加到列表的最左侧(left) (integer) > lp ...
- redis rpoplpush列表转移元素
文档出处:redisdoc.com/list/rpoplpush.html模式: 安全的队列 Redis的列表经常被用作队列(queue),用于在不同程序之间有序地交换消息(message).一个客户 ...
- Redis压缩列表
此篇文章是主要介绍Redis在数据存储方面的其中一种方式,压缩列表.本文会介绍1. 压缩列表(ziplist)的使用场景 2.如何达到节约内存的效果?3.压缩列表的存储格式 4. 连锁更新的问题 5 ...
- Redis之列表类型命令
Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967 ...
- C#操作Redis List 列表
/// <summary> /// Redis 列表 /// </summary> public static void Redis_List() { RedisClient ...
- Redis对象——列表(List)
列表(list)类型是用来存储多个有序的字符串,列表中的每个字符串称为元素(element),一个列表最多可以存储232-1个元素.在Redis中,可以对列表两端插入(push)和弹出(pop),还可 ...
- 面试官:Redis中列表的内部实现方式是什么?
在面试间里等候时,感觉这可真暖和呀,我那冰冷的出租屋还得盖两层被子才能睡着.正要把外套脱下来,我突然听到了门外的脚步声,随即门被打开,一位眉毛弯弯嘴唇红红的小姐姐走了进来,甜甜的香水味立刻钻进了我的鼻 ...
随机推荐
- 洛谷P1092虫食算——深搜
题目:https://www.luogu.org/problemnew/show/P1092 剪枝1:从右往左.从上往下按字母出现顺序搜索: 剪枝2:同一列前两个数字确定,可直接算出第三个数字并判断: ...
- git学习 7 git每次push都输入用户名 密码
用如下命令改成SSH的方式 git remote rm origin git remote add origin git@github.com:username/repository.git git ...
- 02_mysql卸载和安装
如果只是随便地反安装/uninstall之后,在文件系统或者是注册表里面可能会残留一些东西,这些东西如果不及时清除掉,再装可能会出现问题,你新装的会用不了. #Path to installation ...
- nginx中有关命令和日志切割,配置文件加载的详细阐述
一.Nginx简介 Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器.Nginx 已经在俄罗斯最大的门户网站── Ram ...
- linux私有ftp搭建与创建新用户
一.私有ftp搭建 以后补充 1. 搭建 2.修改配置文件 二.创建新用户 在linux搭建好私有ftp后,默认存放目录是 /var/ftp/ 我们有时候需要给外部公司之类的用,但又不想让他们直接在 ...
- Adding In-App Purchase to your iOS and OS X Applications
Adding In-App Purchase to your iOS and OS X Applications In-App Purchase allows you to sell addition ...
- iwork 文件格式分析
根据维基百科,到2015年苹果推出的iwork版本 第一章:iwork2008介绍 1.文档结构: 是一个资源合集:压缩格式的(内含文件夹和文件) 在windows下修改iwork的文件后缀为.rar ...
- http verbs--Method Definitions
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html part of Hypertext Transfer Protocol -- HTTP/1. ...
- 2019计蒜之道初赛3 D. 阿里巴巴协助征战SARS(困难)(大数取余+欧拉降幂)
阿里巴巴协助征战SARS(困难) 33.29% 1000ms 262144K 目前,SARS 病毒的研究在世界范围内进行,经科学家研究发现,该病毒及其变种的 DNA 的一条单链中,胞嘧啶.腺嘧啶均 ...
- CodeForces - 1017D Round #502 D. The Wu(状压预处理)
D. The Wu time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...