概念
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
1. redis list lpush(‘列表名’,‘值1’,‘值2’,‘值n’) 设置值 / lrange( '列表名',‘开始位置’,‘结束位置’ ) 从左边开始,取出列表里的值 / lindex ( 以索引的方式取出数据 ) / lpushx('列表名',‘值’ ) ( 插入的列表必须存在才行,不然返回false )
rpush(‘列表名’,‘值1’,‘值2’,‘值n’) ( 从右向左插入数据) / / rpushx('列表名',‘值’ ) ( 插入的列表必须存在才行,不然返回false )
$redis->lpush('list1','value1'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,,只能插入 值 及对应生成的下标),lpush 从左侧插入值
$redis->lpush('list1','value2'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->lpush('list1','value3'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$a = $redis->lrange('list1',0,10); // 取出列表数据的值范围,lrange 从左侧 取出, 取出之后的值的顺序就是 value3 value2 value1,
$a = $redis->lindex('list1',0); // 以索引的方式,获取列表的值,以左向右进行,得到值 value3
$c = $redis->lpushx('list1','value1'); // 向存在的列表中插入数据,不存在就不能插入,返回false
2. redis list blpop ( 从列表左侧取出第一个数据 ) / brpop ( 从列表右侧取出第一个数据 ) , 如果列表 没有数据,则由 第二个参数 为 延时时间,到时间就返回空的数组
$redis->lpush('list1','value1'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,,只能插入 值 及对应生成的下标),lpush 从左侧插入值
$redis->lpush('list1','value2'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->lpush('list1','value3'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$b = $redis->blpop('list1',5); //取出列表左侧第一个元素,如果存在就直接取出,如果不存在,则由第二个参数设置延时,到时间返回空数组
$c = $redis->brpop('list1',5); //取出列表右侧第一个元素,如果存在就直接取出,如果不存在,则由第二个参数设置延时,到时间返回空数组
3. redis list brpoplpush('列表1',‘列表2’,'延时时间') / rpoplpush('列表1',‘列表2’) 移除列表的最后一个元素,并将该元素添加到另一个列表并返回。
$redis->lpush('list1','value1'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,,只能插入 值 及对应生成的下标),lpush 从左侧插入值
$a = $redis->brpoplpush('list1','list2','3'); // 从 list1 中取出第一个值 插入 到 list2 中的头部,如果list1 没有数据的话,则由第三个参数 设为延时时间,到时间返回 false, 列表 list2 不存在也会自动创建
$redis->rpoplpush('list1','list2'); //从 列表1 中移除并取出第一个值 插入到 list2 中
4. redis list linsert(‘列表’,‘after/before’ , '某个旧值',‘新值’ ) (将一个 值 插入到另外一个值的前面(before) 或者 后面(after),旧值不存在 则不进行操作, 列表不存在,也不进行操作,如果列表名对应的不是列表类型则会报错)
$redis->lpush('list1','value1'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,,只能插入 值 及对应生成的索引),lpush 从左侧插入值
$redis->lpush('list1','value2'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->lpush('list1','value3'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->linsert('list1','after','value2','value4'); //将一个 值 插入到另外一个值的前面(before) 或者 后面(after)
$a = $redis->lrange('list1',0,10);
5. redis liest llen('列表名') (计算列表的名称)
$a = $redis->llen('list1'); // 获取列表的长度
6. redis list lpop('列表名') (移除并返回列表的第一个元素) / rpop('列表名') (移除列表的最后一个元素,返回值为移除的元素。)
$redis->lpush('list1','value1'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,,只能插入 值 及对应生成的索引),lpush 从左侧插入值
$redis->lpush('list1','value2'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->lpush('list1','value3'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$a = $redis->lpop('list1'); //移出并获取列表的第一个元素,得到是value3
$a = $redis->rpop('list1'); //移出并获取列表的最后一个元素,得到是value1
7.redis list lrem('列表名',‘ count’ , value') (count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。count = 0 : 移除表中所有与 VALUE 相等的值。)
$redis->lpush('list1','value1',); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,,只能插入 值 及对应生成的索引),lpush 从左侧插入值
$redis->lpush('list1','value2'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->lpush('list1','value3'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->lrem('list1',0,'value'); // 移除 列表里 和 value 相同的值,
8.redis list lset('列表名',‘索引值’,‘新的值’) (覆盖索引对应的value ,如果索引不存在 则覆盖失败)
$redis->lpush('list1','value1',); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,,只能插入 值 及对应生成的索引),lpush 从左侧插入值
$redis->lpush('list1','value2'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->lpush('list1','value3'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$a = $redis->lset('list1',2,'valuset'); // 覆盖索引对应的value ,如果索引不存在 则覆盖失败
9.redis list ltrim(‘列表名’,‘索引开始位置’,‘索引结束位置’) ( 移除掉不在索引范围内的值)
$redis->lpush('list1','value1',); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,,只能插入 值 及对应生成的索引),lpush 从左侧插入值
$redis->lpush('list1','value2'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$redis->lpush('list1','value3'); // redis 列表设置值, list1 是列表名 (可以理解成数据库的表,但是没有字段属性,只能插入 值),lpush 从左侧插入值
$a = $redis->ltrim('list1',0,1); // 不在索引范围内的值都被移除