第一步:安装 Memcached 服务
第二步:让php加载memcached.dll扩展
详情步骤如下:
第一步:安装 Memcached 服务
1、下载 Memcached 密码:jzay。压缩文件里有三个文件夹,我用的是"memcached_win64_推荐"文件夹里的memcached.exe。
2、安装memcached,安装之后无任何提示。
3、启动memcached服务
继续在cmd.exe 执行开启memcached命令 :
memcached.exe -d start
可以去开始->管理工具->服务里查看memcached是否已启动
也可以去任务管理器查看
设定系统的自启动:chkconfig --add 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的停止与卸载命令
F:\php\WWW\memcached/memcached.exe -d stop
F:\php\WWW\memcached/memcached.exe -d uninstall
二、PHP安装memcache扩展
1、下载memcache.dll扩展 密码: duv9 (注意:PHP版本应与dll文件的版本相匹配。文件里的PHP5.4、PHP5.5、PHP5.6都亲测有用) 或者去http://pecl.php.net/package/memcache/3.0.8/windows选择相应的版本下载
2、将其中的php_memcache.dll 扩展文件拷贝到 php 的扩展目录中,例如:F:\php\php\php-5.5.38\ext
3、修改php.ini文件
打开php的php.ini文件(我的地址是:F:\php\php\php-5.5.38\php.ini)
添加一行代码:
extension=php_memcache.dll
注意:必须在新的一行,前面不能有分号。
然后保存之后,重启服务器
检查是否加载成功:phpinfo中查看,假如如图所示,则成功
三、创建程序
<?php
$memcache = new Memcache;
$memcache->connect('127.0.0.1',11211) or die('shit');
$memcache->set('hello','world');
$hello = $memcache->get('hello');
echo $hello;
?>
关于如何使用多个memcached 缓存服务器.
<?php $mem=new Memcache(); //如果我们网站,需要多个memached缓存系统. //$mem->connect("localhost",11211); (立即向localhost的11211端口发出连接) $mem->addServer("192.168.1.100",11211);//256 ->10m $mem->addServer("192.168.1.200",11211); $mem->addServer("192.168.1.222",11211); //创建多个memcache服务使用. //addServer 会根据负载均衡算法,自动放入每个服务器 $mem->add("name","zs",0,100); ?>
注意:string, int,float, boolean array object null resource 中除了 resource 不能存放,其它都可以。
PHP操作Memcached常用语句:
< ?php
//连接
$mem = new Memcache;
$mem->connect("192.168.0.200", 12000); //保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br/>"; //替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br/>"; //保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br/>"; //删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br/>"; //清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br/>"; //关闭连接
$mem->close();
?>
附:Memcached视频教程 密码: 4df8