windows下Memcache的简单介绍和使用

来源:互联网 发布:山本宽 知乎 编辑:程序博客网 时间:2024/06/06 01:05
memcach简单的说就是使用内存来当做缓存使用的一种机制是一种高性能的分布式对象缓存系统,是一个C/S架构的软件。
Windows下的简单安装使用:
1.      找一个文件夹将memecache的软件复制进去
2.使用命令安装
a)        memcache.exe -d install
3.启动memcache  
a)        命令:memcache.exe -d start
4.停止memcache服务
a)        命令 memcache.exe -d stop
5.卸载memcache的命令
命令memcache.exe -uninstall

访问memcache一:
使用telnet客户端访问:
Windows7/8默认是将此程序关闭,需要进控制面板-->程序和功能—>启用或关闭windows功能,开启telnet服务器和telnet客户端:telnet  telnet  服务器地址端口(memcache默认端口11211
        
重点的来喽。。
PHPmemcache基情四射,亮瞎你的钛合金眼。。
首先:老掉牙的phpinfo检测memcache模块,没有就帮一下,装上呗,又不费劲。
但是呢,一个萝卜一个坑,memcachePHP版本必须一一对应,将php_memcache.dll文件放进phpext文件夹下,再去php.ini文件中写上extension=php_memcache.dll这么一句,要是还不出激情,找度娘吧……

下面就贴一段代码,小伙们感受下先(重点看注释哦)……

<?php
/*
         注:模拟实际开发千万级站点     部分代码遭到注释打击  孟哥威武
*/

//包含配置文件(主要是稀罕表前缀)
//include 'config.php';      //配置文件 --->表前缀
echo '<pre />';

//实例化一个memcache对象      有对象才能激情嘛。
$mem=new Memcache();

//链接到memcache服务器  
$mem->connect('localhost',11211);        

//添加服务器(用于集群式服务器的memcache缓存)        手册详解addServer,不多解释
//$mem->addServer('IP地址1',端口号);
//$mem->addServer('IP地址2',端口号);

/*
         Memcache的增删改查等具体操作,看看手册吧亲,在这里贴手册内容,有点~~
*/
//使用SQL语句声明键名  确保不同的SQL语句会创建不同缓存
//注:此处一定要加表前缀,可防止相同程序间公用memcache时产生混乱
$key="select * from xuesheng";

//直接进memcache缓存服务器查找,将结果赋值给$data
$data=$mem->get($key);

//判断
//data有值,则直接在下方打印。。↓
if(!$data){//如果data没有值,则证明memcache没有在内存中建立相应的数据集合。。
         try{//去数据库查询相应数据,并写入memcache缓存服务器
                   //第一次受到访问,数据直接从数据库中提取并打印,页面显示蓝色背景用于区分
                   echo'<style>body{background:#abcdef}</style>';
                  
                   //PDO链接并访问数据库
                   $dsn="mysql:host=localhost;dbname=lamp67";
                   $pdo=newPDO($dsn,'root','123');
                   $pdo->exec('SETNAMES utf8');
        
                   //准备sql语句
                   $stmt=$pdo->prepare($key);
                   $stmt->execute();//发送(走起)

                   //接收查询到的数据并再次赋值给$data
                   $data=$stmt->fetchAll(PDO::FETCH_ASSOC);
                   /*     注:第一次查询时,直接将结果赋给$data用于下面打印。。
                            然后再将数据写入内存
                            如果上面判断不成立,此间内容不会执行,$data也不会重新赋值
                   */
                   //将数据直接写入memcache缓存中,以便下次访问
                   $mem->add($key,$data,MEMCACHE_COMPRESSED,10);
        
         }catch(PDOException$e){//接受PDO的错误异常抛出
                   echo$e->getMessage();
         }

}

//简单打印数据。。(无论如何,$data都会遭到赋值,背负艰巨任务)
var_dump($data);
?>
0 0
原创粉丝点击