redis和mysql写入速度_Redis的插入速度比MySQL慢?

$driver = "redis";

$driver = "mysql";

// 插入的条数

const SIZE = 100000;

//

$t1 = microtime(true);

// 为了方便测试,插入的数据是固定的

$name = "test";

$pwd = "####";

$age = 21;

if ($driver === 'redis')

{

$redis = new Redis();

$redis->connect('127.0.0.1', 6379) or die('redis 服务未启动');

$redis->setOption(Redis::OPT_PREFIX,'hash_');

for ($i = 0; $i < SIZE; ++ $i)

{

// 就用用户名做哈希名,不允许重复用户名

$redis->hSet($i, 'name', $name . '#' . $pwd . '#' . $age);

}

$redis->close();

}

else

{

$dbh = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'root');

for ($i = 0; $i < SIZE; ++ $i)

{

$sql = "insert into `redis_user`(`name`, `pwd`, `age`) values('{$name}', '{$pwd}', '{$age}')";

$dbh->exec($sql);

}

$dbh = null;

}

$t2 = microtime(true);

/**

* 插入 1000 条数据

* 使用 redis 驱动 共插入了 1000 条数据, 时间使用:0.20561599731445

* 使用 mysql 驱动 共插入了 1000 条数据, 时间使用:1.5798699855804

* 10000 条数据

* 使用 redis 驱动 共插入了 10000 条数据, 时间使用:1.6717090606689

* 使用 mysql 驱动 共插入了 10000 条数据, 时间使用:4.0666799545288

* 100000 条数据

* 使用 redis 驱动 共插入了 100000 条数据, 时间使用:15.782356023788

* 使用 mysql 驱动 共插入了 100000 条数据, 时间使用:27.720022916794

*/

echo "使用 {$driver} 驱动 共插入了 {$i} 条数据, 时间使用:" . ($t2 - $t1);

这是根据 helloworld_ 朋友回答之后的测试, 确实是变快了。

补充, 我通过 ab 压力测试, 发现差距更是巨大

第一张图是redis 的

ea94d69fa19ac26be196eed4eeb8acee.png

0ab59cff8f99b5ae3aac5d645c05f173.png

ab 测试的时候, 我把for循环删去了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值