当前位置:首页 > 代码·功能 > 正文

PHP使用MemCache加速MySql速度,提高数据库负载

话说域名被墙之前 服务器数据库因为访客量实在太大的原因,导致超出mysql的最大并发 无法正常链接

那天下午刚考完试回家 就立马操作起来 弄memcache加速并不算是特别难 当然 本文不适合对WP的修改,只是单纯PHP调用MemCache的一个方案而已

使用了MemCache缓存MySql结果进行操作 网站速度瞬间上去,数据库负载也终于可以好了

ef651a799d00af64031a584bdab213b3

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

————摘自AMH面板简介

博客站的服务器用的AMH的面板没有自己编译PHP之类 应用中心直接安装了MemCache服务器

如果用自己编译 http://memcached.org/ 去官网下载安装就可以了,这里就不多说了~

安装完后,确保PHP服务器支持MemCache拓展,如果不支持可以到下面两个地址安装依赖库

https://launchpad.net/libmemcached/1.0/1.0.4/+download/libmemcached-1.0.4.tar.gz

http://pecl.php.net/get/memcached-2.0.1.tgz

安装完后phpinfo()查看是否支持MemCache功能,如果支持就可以进行下一步了

MemCache不修改的话应该是用默认口11211

首先先测试下能不能正常用

$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set('test', 'ok', 0,60);
$mem->get('test');

php执行上面代码,如果输出ok则程序正常,可以使用。

我的想法大致是这样的,首先判断一下 当前数据是否在MemCache数据库有存储,如果有直接输出,不存在则调用mysql数据并存储输出。

这样大致就可以实现数据的储存了,我ihxvip就是这样实现的,下面给一个类似查询的栗子吧,使用mysqli

首先第一步,创建

$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);

然后直接if数据是否存在

if($mem->get($data) ==''){

等于空则开始使用数据库,并且存储进MemCache

$db = new mysqli(sqlhost,sqluser,sqlpass,sqldata);
$db->query("set names 'UTF8'");
$rows = $db->query("SELECT * FROM test where id = data");
if($row = $rows->fetch_array()){
$mem->set($data, $row, 0, 300);
}

处理好后,差不多就行了,反正这玩意就是放在程序头运行,需要数据处,直接使用get获取$mem->get($data) 就可以了

如果想要方便点,你可以放进一个函数里,反正大体我就是这样处理的,使用请自行修改,这里不过思路而已

不过用了memcache速度真的没的说,处理速度比mysql 6多了

标签:
上一篇: 下一篇:

12 条评论

评论加载中...
  1. 6楼
    来自天朝的朋友 谷歌浏览器 Windows 7
    Qa  

    WP本来就有MEM的对象缓存插件,这个还能起多大作用?

    2016年7月15日 02:28 评论
    • 小幻  

      我这个不是针对wp说的,只是php使用memcache的基本调用方案

      2016年7月24日 13:55 评论
  2. AMH的php7不支持memcache,弄了好久,最后才发现要弄memcached,话说AMH真好用!

    2016年7月14日 07:47 评论
    • 小幻  

      支持啊,有php7的组件

      2016年7月14日 08:38 评论
  3. 爱耍的小幻

    2016年7月13日 12:14 评论
    • 小幻  

      爱生活爱折腾

      2016年7月24日 13:54 评论
  4. 地板
    来自天朝的朋友 谷歌浏览器 Windows 10
    黑暗游侠  

    不试试redis?

    2016年7月11日 22:34 评论
    • 小幻  

      有空看看

      2016年7月24日 13:47 评论
  5. 板凳
    来自天朝的朋友 Safari浏览器  Android 4.4.2 PE-CL00 Build/HuaweiPE-CL00
    Koolight  

    服务器可玩的花样多多,博主牛逼轰轰的!

    2016年7月11日 19:52 评论
    • 小幻  

      愈折腾愈开心~

      2016年7月24日 13:47 评论
  6. 沙发
    来自天朝的朋友 Safari浏览器 iPhone iPhone OS 9_3_2 like Mac OS X) AppleWebKit
    唯历史  

    这玩意我了解过,挺不错

    2016年7月11日 09:27 评论
    • 小幻  

      负载高

      2016年7月24日 13:46 评论

发表评论

不理你。不要啊!吃饭。吃惊。吃西瓜。飞吻!恭喜!Hi纠结!膜拜!OK抛媚眼。泡泡糖。抛钱。忍!生闷气!调皮。偷看。委屈。献花。疑问?抓狂!

小提示:Ctrl+Enter快速提交助您一臂之力~
加载中……