zoukankan      html  css  js  c++  java
  • mysql与redis在各种情况下性能对比

    数据表结构

    CREATE TABLE `jx_goods_test` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `goods_name` varchar(100) DEFAULT NULL,
    `shop_price` varchar(100) DEFAULT NULL,
    `goods_content` text,
    `original_img` varchar(222) DEFAULT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=526825 DEFAULT CHARSET=utf8

    数据量:1613312

    goods_name='yuyu_购物车测试'数据量为4384

    $sql    =   "SELECT * FROM jx_goods_test  WHERE goods_name='yuyu_购物车测试'";
    $info = M()->query($sql);

    纯mysql未开启缓存未加索引情况下耗时:3秒以上(测试多次均为这个接口)
    开启mysql缓存情况下耗时:0.021秒
    关闭缓存采用索引方式:0.21秒
    数据都存储在一张表中对比,可以明显感觉到,开启缓存带来显著的提升,但是开启缓存有个点没有考虑进去,就是缓存失效以及命中率的问题,如果算上这些,其实带来的效益还是没有索引带来的直观,当然这个得看取舍了。各有优势劣势。
    下面采用redis测试下结果数据如何,假设数据已经全部存入redis中(ps:麻痹,这160多万数据从mysql进入redis还真耗时间,机器 太烂了。哎!)




  • 相关阅读:
    HTML5表单
    jQuery Mobile组件
    HTML5新增加的功能
    jQuery Mobile基础
    【android】两个按钮的宽度各占屏幕的一半
    AndroidUI--SlidingMenu使用例子
    android之PackageManager简介
    AlarmManager类的应用
    AlarmManager类的应用(实现闹钟功能)
    laravel 控制器内使用切换数据库
  • 原文地址:https://www.cnblogs.com/yifan72/p/7485115.html
Copyright © 2011-2022 走看看