一、安装部分
(一)、下载并安装memcached服务器端软件
32位64位:www.newasp.net/soft/63735.html
解压压缩包到指定目录
2、安装memcached
以管理员身份运行 cmd.exe
如果不是管理员可以切换到管理员权限
并转至memcached所在文件夹。并安装memcached。
安装之后无任何提示
3、启动memcached服务
继续在cmd.exe 执行开启memcached命令 :
memcached.exe -d start
然后去任务管理器中进程查看memcached服务是否已经启动。
4、memcached基本参数设置
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
5、memcached的停止与卸载命令
memcached.exe -d stop
memcached.exe -d uninstall
(二)、PHP安装memcache扩展
1、下载memcache.dll扩展
下载地址:
下载注意事项:选择匹配自己环境的版本以及线程安全版本。
查看自己PHP版本:phpinfo();
以下是我的配置信息和对应下载版本:
对应扩展文件这里
解压出来:
将其中的php_memcache.dll 扩展文件拷贝到 php 的扩展目录中,我的(D:\php\Wamp\php\ext)
打开php的php.ini文件
最后添加 一行代码:
extension=php_memcache.dll
然后保存之后,重启服务器
在使用phpinfo()查看
(如果没有显示,肯定是版本没对应)
说明安装成功了。
二、运用部分
<?php
header('content-type:text/html;charset="utf8"');
$memcache = new Memcache();
$memcache->connect('localhost','11211')or die('Memcached连接失败');
//定义一个对象
$tmp_object = new stdClass();
$tmp_object->username='tomm';
$tmp_object->password='123';
$tmp_object->msg='hello~my name is tom';
//memcache->set('设置值的key','设置存储的值','是否使用MEMCACHE_COMPRESSED压缩,0或false表示不压缩','过期时间/秒')
$memcache->set('user',$tmp_object,false,10);
$get_res = $memcache->get('user');
echo ('数据如下:');
var_dump($get_res);
?>
2.运用
<?php
$sql = 'SELECT * FROM users';
$key = md5($sql); //memcached 对象标识符
$mc = new Memcache();
$mc->connect('localhost','11211')or die('Memcached连接失败');
if ( !($datas = $mc->get($key)) ) {
// 在 memcached 中未获取到缓存数据,则使用数据库查询获取记录集。
echo 'Read datas from MySQL';
$conn = mysql_connect('localhost', 'root', '123456');
mysql_select_db('test');
$result = mysql_query($sql);
while ($row = mysql_fetch_object($result))
$datas[] = $row;
// 将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。
$mc->add($key, $datas);
} else {
echo 'Read datas from memcached';
}
var_dump($datas);
?>