20309 发表于 2018-9-28 10:05:20

redis和mysql的数据写入测试

  1)PHP 写入mysql数据的代码
  


[*]
  

  结果:
  使用PHP 给mysql 插入10W条数据时的状态:执行时间是70秒

  使用PHP 给mysql 插入50W条数据时的状态:执行时间是335秒

  
  2) 安装phpredis模块
  1.         在https://github.com/owlient/phpredis 下载nicolasff-phpredis-2.1.3-167-ga5e53f1.zip
  解压 unzip –q nicolasff-phpredis-2.1.3-167-ga5e53f1.zip
  2.         cd phpredis
  /usr/local/php/bin/phpize      这个phpize是安装php模块的
  ./configure --with-php-config=/usr/local/php/bin/php-config
  make && make install
  确认是否生成redis扩展库:
  /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
  在php.ini中添加extension=redis.so

  重新加载php/etc/init.d/php-fpm>  3.         php代码测试
  
  输出hello world!
  3) PHP 写入redis数据的代码
  rpush.php代码:
  $redis = new Redis();
  $redis->connect('10.1.0.169',6379);
  $redis->rpush("order","$ins");
  
  lpop.php代码:
  $num=$redis->llen("order");
  while ($num) {
  $ins=$redis->lpop("order");
  mysqli_query($mysqli,$ins);
  $num=$redis->llen("order");
  }
  结论:
  使用PHP 给redis插入10W条数据时的状态:
  执行时间是24秒
  使用redis 给mysql插入10W条数据时的状态:
  执行时间是120秒
  使用PHP 给redis 插入50W条数据时的状态:
  执行时间是124秒
  使用redis 给mysql插入50W条数据时的状态:
  执行时间是735秒
  4) 通过测试,验证redis和mysql每秒的插入效率:
  测试结论:在网络rtt平均时间为0.2ms,value值大小平均是1kb的情况下,
  redis 插入队列数据的效率大约为每秒 4200个value值

  同等条件下,mysql插入数据的效率大约为每秒 700个,同样大小数据的insert操作

  


页: [1]
查看完整版本: redis和mysql的数据写入测试