您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
workerman-redis-lTrim
发布时间:2021-12-29 21:29:10编辑:雪饮阅读()
lTrim
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
成功时返回true,失败时返回false。
实例:
<?php
use Workerman\Worker;
use Workerman\Redis\Client;
use Workerman\Connection\TcpConnection;
use Workerman\Timer;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('http://0.0.0.0:6161');
global $offset;
$worker->onWorkerStart = function() {
global $offset;
$offset=0;
};
$worker->onMessage = function(TcpConnection $connection, $data) {
$redis = new Client('redis://127.0.0.1:6379');
$redis->del('key1');
$redis->rPush('key1', 'A');
$redis->rPush('key1', 'B');
$redis->rPush('key1', 'C');
$redis->lRange('key1', 0, -1, function ($r) {
var_dump("ltrim before:\r\n");
var_dump($r); // ['A', 'B', 'C']
});
$res=$redis->lTrim('key1', 0, 1);
var_dump("trim result:");
var_dump($res);
$redis->lRange('key1', 0, -1, function ($r) {
var_dump("ltrim after:\r\n");
var_dump($r); // ['A', 'B']
});
};
Worker::runAll();
实例运行并有http请求时:
[root@localhost workerman]# php index.php start
Workerman[index.php] start in DEBUG mode
----------------------------------------- WORKERMAN -----------------------------------------
Workerman version:4.0.26 PHP version:7.3.31
------------------------------------------ WORKERS ------------------------------------------
proto user worker listen processes status
tcp root none http://0.0.0.0:6161 1 [OK]
---------------------------------------------------------------------------------------------
Press Ctrl+C to stop. Start success.
string(12) "trim result:"
NULL
string(15) "ltrim before:
"
array(3) {
[0]=>
string(1) "A"
[1]=>
string(1) "B"
[2]=>
string(1) "C"
}
string(14) "ltrim after:
"
array(2) {
[0]=>
string(1) "A"
[1]=>
string(1) "B"
}
修剪成功后结果仍旧是null,而非true,workerman manual.......
关键字词:workerman,redis,lTrim