我正在将我的网站的某些部分从关系数据库移动到Redis,并且需要在很短的时间内插入数百万个密钥.
在我的例子中,数据必须首先从MySQL中提取,由PHP准备,然后添加到相应的排序集(时间作为分数+ ID作为值).目前我正在使用Redis::PIPELINE参数的phpredis多方法的冒险.尽管速度明显提高,但在进行导入时,最终会阻止读取并减慢加载时间.
所以这里有一个问题 - 在phpredis中使用管道是否等同于http://redis.io/topics/mass-insert中描述的大量插入?
这是一个例子:
phpredis方式:
<?php
// All necessary requires etc.
$client = Redis::getClient();
$client->multi(Redis::PIPELINE); // OR $client->pipeline();
$client->zAdd('key', 1, 2);
...
$client->zAdd('key', 1000, 2000);
$client->exec();
Run Code Online (Sandbox Code Playgroud)来自redis.io的vs 协议:
cat data.txt | redis-cli --pipe
Run Code Online (Sandbox Code Playgroud)