Rpush 将一个或多个值插入到列表的尾部(最右边)
- 如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误
-
rpush redis命令
RPUSH KEY_NAME VALUE1..VALUEN
// 支持多个存值
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('rpush', [
'r2', 'sq3', 'sdww'
]); // 2
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->rpush('r2', 'sq1');
// 返回列表长度
Lpush 将一个或多个值插入到列表头部
- 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作
- 当 key 存在但不是列表类型时,返回一个错误
-
lpush redis命令
LPUSH KEY_NAME VALUE1.. VALUEN
// 注意这里的添加到列表里面顺序应该是 push、left、......
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('lpush', [
'r2', 'left', 'push'
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->lpush('r2', 'left', 'push');
// 返回值 返回列表的长度
Rpushx 将一个或多个值插入到已存在的列表尾部(最右边)
- 如果列表不存在,操作无效
-
rpushx redis命令
RPUSHX KEY_NAME VALUE1..VALUEN
// rpushx 只支持一个value值
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('rpushx', [
'r2', 'x1'
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->rpushx('r2', 'left');
// 返回列表长度
Lpushx 将一个或多个值插入到已存在的列表头部
- 列表不存在时操作无效
-
lpushx redis命令
LPUSHX KEY_NAME VALUE1.. VALUEN
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('lpushx', [
'r2', 'x1'
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->lpushx('r2', 'left');
// 返回列表长度
Lpop 移除并返回列表的第一个元素
- 列表的第一个元素。 当列表 key 不存在时,返回 nil
-
lpop redis命令
LPOP KEY_NAME
// 列表不存在返回false
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('lpop', [
'r21'
]); // false
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->lpop('r2');
// 返回值列表不存在返回false 否则返回被移除的数据
Rpop 移除并返回列表的最后一个元素
- 列表的最后一个元素。 当列表不存在时,返回 nil
-
rpop redis命令
RPOP KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('rpop', [
'r2'
]);
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->rpop('r2');
// 返回值列表不存在返回false 否则返回被移除的数据
Blpop 移出并获取列表的第一个元素
- 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
-
blpop redis命令
BLPOP LIST1 LIST2 .. LISTN TIMEOUT
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('blpop', [
'r2', // keys 获取多个key始终返回第一个key
20 // 超时时间
]); // ['r2', 'left']
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->blpop('r2', 20);
BRPOP 移出并获取列表的最后一个元素
- 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
-
brpop redis命令
BRPOP LIST1 LIST2 .. LISTN TIMEOUT
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('brpop', [
'r2', // keys 获取多个key始终返回第一个key
20 // 超时时间
]); // ['r2', 'left']
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->brpop('r2', 20);
Rpoplpush 移除列表的最后一个元素
- 并将该元素添加到另一个列表开头并返回
-
rpoplpush redis 命令
RPOPLPUSH SOURCE_KEY_NAME DESTINATION_KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('rpoplpush', [
'r2', 'r1'
]); // "asdasd"
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->rpoplpush('r2', 'r1');
// 返回移动的元素值
Brpoplpush 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('brpoplpush', [
'r2', 'r1'
]); // "asdasd"
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->brpoplpush('r2', 'r1');
// 返回移动的元素值
Lindex 通过索引获取列表中的元素
- 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推
-
lindex redis命令
LINDEX KEY_NAME INDEX_POSITION
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('lindex', [
'r2', 1
]); // 默认从0开始 这里返回第二个元素
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->lindex('r2', 0);
Lset 通过索引来设置元素的值
- 当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误
-
lset redis命令
LSET KEY_NAME INDEX VALUE
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('lset', [
'r2', -1, 'xs'
]); // true
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->lset('r2', -1, 'xs');
// 返回值 如果超出索引返回false 设置成功返回true
Linsert 在列表的元素前或者后插入元素
- 当指定元素不存在于列表中时,不执行任何操作
- 当列表不存在时,被视为空列表,不执行任何操作
- 如果 key 不是列表类型,返回一个错误
-
linsert redis命令
LINSERT KEY_NAME BEFORE EXISTING_VALUE NEW_VALUE
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('linsert', [
'r2', \Redis::AFTER, 'xs', 'xs1'
]); // 6
// \Redis::AFTER => 'after', \Redis::BEFORE = 'before'
$return = \Illuminate\Support\Facades\Redis::connection('expired')->linsert('r2', \Redis::BEFORE, 'xs', 'before');
// 返回值 返回列表的长度
Ltrim 对一个列表进行修剪(trim)
- 让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
- 下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推
- 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推
-
ltrim redis命令
LTRIM KEY_NAME START STOP
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('ltrim', [
'r2', 0, -2
]); // true
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->ltrim( 'r2', 0, -1); // 0 -1 不会删除元素
// 修剪成功返回true
Lrange 返回列表中指定区间内的元素
- 区间以偏移量 START 和 END 指定
- 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推
- 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推
-
lrange redis 命令
LRANGE KEY_NAME START END
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('lrange', [
'r2' , 0, -2
]); // ["sq3", "asdasd"]
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->lrange('r2' , 0, -1); // 0 -1 返回所有
Llen 返回列表的长度
- 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0
- 如果 key 不是列表类型,返回一个错误
-
llen redis命令
LLEN KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('llen', [
'r2'
]); // 4
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->llen('r2');
// 成功返回列表长度
Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素
- COUNT 的值可以是以下几种:
- count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT
- count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值
- count = 0 : 移除表中所有与 VALUE 相等的值
-
lrem redis命令
LREM KEY_NAME COUNT VALUE
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('lrem', [
'r2' , 'sdww', 0
]); // 1
// or
// $return = \Illuminate\Support\Facades\Redis::connection('expired')->lrem('r2' , 'sdww', 0);
// 返回移除的数量
网友评论