第一步:安装 Memcached 服务
第二步:让php加载memcached.dll扩展
详情步骤如下:
第一步:安装 Memcached 服务
1、下载 Memcached 密码:jzay。压缩文件里有三个文件夹,我用的是"memcached_win64_推荐"文件夹里的memcached.exe。
2、安装memcached,安装之后无任何提示。
3、启动memcached服务
继续在cmd.exe 执行开启memcached命令 :
1 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:phpWWWmemcached/memcached.exe -d stop
F:phpWWWmemcached/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:phpphpphp-5.5.38ext
3、修改php.ini文件
打开php的php.ini文件(我的地址是:F:phpphpphp-5.5.38php.ini)
添加一行代码:
extension=php_memcache.dll
注意:必须在新的一行,前面不能有分号。
然后保存之后,重启服务器
检查是否加载成功:phpinfo中查看,假如如图所示,则成功
三、创建程序
1 <?php 2 $memcache = new Memcache; 3 $memcache->connect('127.0.0.1',11211) or die('shit'); 4 $memcache->set('hello','world'); 5 $hello = $memcache->get('hello'); 6 echo $hello; 7 ?>
关于如何使用多个memcached 缓存服务器.
1 <?php 2 3 $mem=new Memcache(); 4 5 //如果我们网站,需要多个memached缓存系统. 6 7 //$mem->connect("localhost",11211); (立即向localhost的11211端口发出连接) 8 9 $mem->addServer("192.168.1.100",11211);//256 ->10m 10 11 $mem->addServer("192.168.1.200",11211); 12 13 $mem->addServer("192.168.1.222",11211); 14 15 //创建多个memcache服务使用. 16 17 //addServer 会根据负载均衡算法,自动放入每个服务器 18 19 $mem->add("name","zs",0,100); 20 21 ?>
注意:string, int,float, boolean array object null resource 中除了 resource 不能存放,其它都可以。
PHP操作Memcached常用语句:
1 < ?php 2 //连接 3 $mem = new Memcache; 4 $mem->connect("192.168.0.200", 12000); 5 6 //保存数据 7 $mem->set('key1', 'This is first value', 0, 60); 8 $val = $mem->get('key1'); 9 echo "Get key1 value: " . $val ."<br/>"; 10 11 //替换数据 12 $mem->replace('key1', 'This is replace value', 0, 60); 13 $val = $mem->get('key1'); 14 echo "Get key1 value: " . $val . "<br/>"; 15 16 //保存数组 17 $arr = array('aaa', 'bbb', 'ccc', 'ddd'); 18 $mem->set('key2', $arr, 0, 60); 19 $val2 = $mem->get('key2'); 20 echo "Get key2 value: "; 21 print_r($val2); 22 echo "<br/>"; 23 24 //删除数据 25 $mem->delete('key1'); 26 $val = $mem->get('key1'); 27 echo "Get key1 value: " . $val . "<br/>"; 28 29 //清除所有数据 30 $mem->flush(); 31 $val2 = $mem->get('key2'); 32 echo "Get key2 value: "; 33 print_r($val2); 34 echo "<br/>"; 35 36 //关闭连接 37 $mem->close(); 38 ?>
附:Memcached视频教程 密码: 4df8