我一直在考虑在一个使用大量写入的项目中使用Redis。
因此,在我的服务器上进行设置之后,我使用Predis创建了一个简单的PHP脚本,并使用一个简单的循环来添加记录。我还创建了第二个脚本,它只使用PHP的MySQLi在MySQL表(InnoDB)上执行类似的操作。
我运行了10k循环,100k循环和500k循环,MySQL每次都击败Redis。事实上,我添加的记录越多,MySQL与Redis相比就越快。
Redis周围有很多嗡嗡声(炒作?),我想相信我在这里遗漏了一些东西。
请教育我:)
谢谢!
这是我的Predis代码:
for ($i=0; $i<100000; $i++) {
$predis->set('key'.$i, $i);
}
这是我的MySQLi代码:
for ($i=0; $i<100000; $i++) {
mysqli_query($db, "INSERT INTO test (`key`, `value`) VALUES ('key$i', $i)");
}
答案 0 :(得分:12)
mysqli extension - 是扩展名,而predis是php-client库。即而mysqli是编译代码,predis只是简单的php - extensions are faster。
问题中显示的那种基准测试主要显示PHP代码与扩展的性能损失。
如果您想对写入性能进行比较 - 您需要与php redis extension进行比较。