Redis常用命令(4)——List

2017-02-12 From 程序之心 By 丁仪

BLPOP

格式:BLPOP key [key ...] timeout

作用:从列表左侧弹出元素,超时时间为timeout,单位为秒。如果timeout为0则一直阻塞直到列表中有元素。如果同时操作多个列表,按照列表顺序从左到右依次检查列表,遇到第一个非空列表时弹出元素并返回。

返回值:列表元素。超时后返回nil和等待时间。


BRPOP

格式:BRPOP key [key ...] timeout

作用:从列表右侧弹出元素,超时时间为timeout,单位为秒。如果timeout为0则一直阻塞直到列表中有元素。如果同时操作多个列表,按照列表顺序从左到右依次检查列表,遇到第一个非空列表时弹出元素并返回。

返回值:列表元素。超时后返回nil和等待时间。


BRPOPLPUSH

格式:BRPOPLPUSH source destination timeout

作用:从源列表右侧弹出元素,放入目标列表左侧,超时时间为timeout,单位为秒。如果timeout为0则一直阻塞直到源列表中有元素。

返回值:弹出的元素。超时后返回nil和等待时间。


LINDEX

格式:LINDEX key index

作用:返回列表中指定索引位置的元素。下标从0开始,如果index为负数表示从右侧查找,-1表示右侧最后一个元素。

返回值:下标为index的元素。如果index超出范围返回nil。如果key不是列表类型,返回错误。


LINSERT

格式:LINSERT key BEFORE|AFTER pivot value

作用:在列表key中,在值pivot之前或之后插入元素value。当key不存在,或列表key中没有pivot时不执行操作。

返回值:执行成功返回执行后列表的长度,如果key不存在或为空返回0,如果pivot不存在返回-1。


LLEN

格式:LLEN key

作用:返回列表key的长度。

返回值:列表key的长度。如果key不存在或为空,返回0。如果key不是列表类型,返回错误。


LPOP

格式:LPOP key

作用:从列表key的左侧弹出一个元素。

返回值:弹出的元素。如果key不存在,或为空,返回nil。


LPUSH

格式:LPUSH key value [value ...]

作用:在列表key的左侧,插入一个或多个元素,按照元素的顺序插入。

返回值:插入后列表的长度。


LPUSHX

格式:LPUSHX key value

作用:当key存在并且是列表类型时,在左侧插入元素。如果key不存在或不是列表类型,不执行操作。

返回值:插入元素后列表的长度。


LRANGE

格式:LRANGE key start stop

作用:返回列表key指定位置区间的元素,包括stop位置的元素。下标从0开始,如果下标为负数表示从右侧查找,-1表示右侧最后一个元素。

返回值:返回元素的列表。


LREM

格式:LREM key count value

作用:移除列表中值为value的元素,count参数的要求如下

count > 0 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。

count < 0 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。

count = 0 移除表中所有与 value 相等的值。

返回值:被移除元素的个数。


LSET

格式:LSET key index value

作用:设置列表key下标index位置的元素值为value。如果index超出范围返回错误。

返回值:成功时返回OK


LTRIM

格式:LTRIM key start stop

作用:只保留列表key指定位置区间内的元素,移除其余元素。stop位置的元素会保留。

返回值:成功时返回 OK


RPOP

格式:RPOP key

作用:从列表key的右侧弹出一个元素。

返回值:弹出的元素。如果key不存在,或为空,返回nil。


RPOPLPUSH

格式:RPOPLPUSH source destination

作用:从源列表右侧弹出元素,放入目标列表左侧。

返回值:弹出的元素。


RPUSH

格式:RPUSH key value [value ...]

作用:在列表key的右侧,插入一个或多个元素,按照元素的顺序插入。

返回值:执行操作后列表的长度。


RPUSHX

格式:RPUSHX key value

作用:当key存在并且是列表类型时,在右侧插入元素。如果key不存在或不是列表类型,不执行操作。

返回值:执行操作后列表的长度。

本文来源:程序之心,转载请注明出处!

本文地址:https://chengxuzhixin.com/blog/article/200012.html

君子曰:学不可以已。
《深入理解计算机系统(原书第3版)》

主要介绍了计算机系统的基本概念,包括最底层的内存中的数据表示、流水线指令的构成、虚拟存储器、编译系统、动态加载库,以及用户应用等。书中提供了大量实际操作,可以帮助读者更好地理解程序执行的方式,改进程序的执行效率。此书以程序员的视角全面讲解了计算机系统,深入浅出地介绍了处理器、编译器、操作系统和网络环境,是这一领域的权威之作。

发表感想

© 2016 - 2022 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号