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 )
重点的来喽。。
PHP 与memcache 基情四射,亮瞎你的钛合金眼。。
首先:老掉牙的phpinfo 检测memcache 模块,没有就帮一下,装上呗,又不费劲。
下面就贴一段代码,小伙们感受下先(重点看注释哦)……
<?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);
?>
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 )
重点的来喽。。
PHP 与memcache 基情四射,亮瞎你的钛合金眼。。
首先:老掉牙的phpinfo 检测memcache 模块,没有就帮一下,装上呗,又不费劲。
但是呢,一个萝卜一个坑,memcache
与PHP
版本必须一一对应,将php_memcache.dll
文件放进php
的ext
文件夹下,再去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);
?>