MySQL比Redis更快。我在这里错过了什么吗?

时间:2012-10-29 17:12:10

标签: php mysql redis

我一直在考虑在一个使用大量写入的项目中使用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)");
}

1 个答案:

答案 0 :(得分:12)

将predis与mysqli进行比较是不合适的

mysqli extension - 是扩展名,而predis是php-client库。即而mysqli是编译代码,predis只是简单的php - extensions are faster

问题中显示的那种基准测试主要显示PHP代码与扩展的性能损失。

与之类似

如果您想对写入性能进行比较 - 您需要与php redis extension进行比较。