redis的数据类型List,其原生命令和php操作Redis List函数介绍

时间:2018-11-13 23:41:04   收藏:0   阅读:185

List类型介绍

List是简单的字符串列表,按照插入顺序排序,可以从列表的两头添加数据,一个列表最多可以包含2^32-1个元素(超过40亿个元素)

List原生命令

命令 命令描述 实例
LPUSH key value1 [value2] 此命令将一个或多个值插入到列表的头部;如果列表不存在,则创建一个空列表,然后执行LPUSH操作;如果有错误则返回一个错误,成功返回列表的长度 LPUSH list1 "foo" 返回:1;LPUSH list1 "hear":返回2
LPUSHX key value 将值value插入到列表key的头部,若列表不存在时操作无效,插入失败;成功则返回列表的长度 LPUSHX list1 "head";LRANGE list1 0 -1,返回:“head”,‘hear’,‘foo’
RPUSH key value1 [value2] 添加一个或多个值到列表尾部,如果key不存在则先创建空列表,然后执行RPUSH操作,成功则返回列表长度 RPUSH list1 ‘foot‘;LRANGE list1 0 -1,返回:“head”,‘hear’,‘foo’,‘foot’
RPUSHX key value 将value值插入到已存在的列表key的尾部,如果列标配key不存在,则操作无效,插入失败;存在则返回列表的长度 RPUSHX list1 ‘jkl‘;获取列表的值jkl在列表尾部
LPOP key 移除列表key的第一个元素,并返回该元素 LPOP list1,返回‘head’;LRANGE list1 0 -1,返回:‘hear’,‘foo’,‘foot’,‘jkl’
RPOP key 移除列表的最后一个元素,并返回该元素 RPOP list1,返回:‘jkl’;LRANGE list1 0 -1,返回:‘hear’,‘foo’,‘foot’
BLPOP key1 [key2] timeout 移出并获取列表的第一个元素,如果列表没有元素则会阻塞列表,直到等待时间超时或有元素可弹出为止。如果列表为空,则返回nil;否则返回一个含有两个元素的列表,第一个元素是被弹出的元素的key,另一个是被弹出元素的值。如果有多个key,则返回第一个非空列表的头元素;如果所有列表为空或者不存在,则会阻塞列表,直到等待时间超时或有列表不为空为止 BLPOP list1 100,返回"list1", "hear";BLPOP list2 30,返回nil,30.52s;
BRPOP key1 [key2 ] timeout 和BLPOP类似,只不过是移出最后一个元素 BRPOP list1 100,返回"list1", "kui";BLPOP list1 30,返回nil,30.58s;
LLEN key 返回列表的长度;如果列表key不存在,则列表key被认为是空列表,返回0;如果key不是列表类型,则返回一个错误 LLEN list1,返回1
LRANGE key start stop 返回列表中指定区间的元素,区间以偏移量start和stop指定;0表示第一个元素,以此类推下去;也可以用负数表示,-1表示最后一个元素,以此类推下去 LRANGE list1 0 -1,取得列表的所有值;
LREM key count value 根据参数count的值,移除列表中与参数value值相同的元素;count > 0:从表头向表尾搜索,移除count个与value值相同的元素;count < 0:从表尾向表头搜索,移除count的绝对值个与value值相同的元素;count = 0:移除表中所有与value相同的值;成功返回移除元素的个数,失败则返回0 LREM list1 2 ‘ipo‘;返回:2
LSET key index value 通过索引设置元素的值;当索引参数超出范围或者对一个空列表进行LSET操作,返回一个错误,操作成功,返回“OK” LSET list1 0 ‘lpt‘,返回Ok,将索引为0的值设为“lpt”
LTRIM key start stop 对一个列表进行修剪(trim),只留下指定区间内的元素,不在指定区间的元素都将被删除;索引0表示第一个元素,以此类推;最后一个元素的索引为-1,以此类推。执行成功返回“OK” LTRIM list1 1 2,返回“ok”
LINDEX key index 通过索引获取元素的值,索引0表示第一个元素,以此类推;-1表示最后一个元素,以此类推;index在列表的区间内则返回该索引对应的值,不在列表的区间内则返回nil LINDEX list1 9;返回:nil
LINSERT key BEFORE(AFTER) pivot value 在列表的元素前或者后面插入元素,当指定元素不存在列表中是,不做任何操作,返回 -1;当列表不存在时,视为空列表,不执行任何操作,返回 0;如果key不是列表类型,返回一个错误;执行成功将value插入到元素pivot的前面或者后面,并返回插入后列表的长度;如果存在多个pivot ,则在第一个pivot 值的前或者后面插入value LINSERT list1 before ‘tip‘ ‘mnb‘;返回6
BRPOPLPUSH source destination timeout 从列表source 中弹出一个元素,将弹出的元素插入到另外一个列表destination 中,并返回这个元素;如果列表中不存在元素,则会阻塞列表直到有可弹出元素或者等待超时;如果指定时间内没有任何元素弹出,则返回一个nil和等待时长;反之,则返回一个含有两个元素的列表,第一个元素是弹出的元素,另一个元素是等待时长 BRPOPLPUSH list1 list2 40;返回:“tip”
RPOPLPUSH source destination 移除source 列表的最后一个元素,并将元素写入到destination列表中,并返回这个元素 RPOPLPUSH list1 list2

php操作redis List的函数

原文:https://www.cnblogs.com/yu-yuan/p/9955435.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!