Windows下的Memcache安装与测试教程

Windows下的Memcache安装
1、下载memcache for windows。

下载地址:http://splinedancer.com/memcached-win32/,推荐下载binaries版本,

解压(本例中解压到e:memcached-1.2.4)。
2、安装memcache,

在命令行状态下输入: e:/memcached-1.2.4/memcached.exe -d install 。至此memcached已经安装成windows服务
3、启动memcache,

在命令行下输入: e:/memcached-1.2.4/memcached.exe -d start 以启动memcached服务。

或者也可以选择在windows服务中启动


到此,memcache的服务器端就准备完毕,接下来需要安装php的memcache扩展,


php安装Memcached模块支持
1、下载php_memcache.dll模块,

你可以从http://downloads.php.net/pierre/找到对应的版本,
php5.3对应php_memcache-2.2.6-5.3-vc9-x86.zip

将php_memcache.dll放到php\ext目录下,

2、修改php.ini来加入扩展,并并重启apache服务器

加入extension=php_memcache.dll、重启apache服务器,

然后查看一下phpinfo,如果有memcache,那么就说明安装成功!


测试windows下的Memcached
测试代码如下:

[php] view plaincopy
  1. <?php  
  2. $mem = new Memcache;  
  3. $mem->connect("127.0.0.1", 11211);  
  4. $mem->set('key''Hello Memcached!', 0, 60);  
  5. $val = $mem->get('key');  
  6. echo $val;  
  7. ?>  

Example #1 memcache extension overview example

In this example, an object is being saved in the cache and then retrieved back. Object and other non-scalar types are serialized before saving, so it's impossible to store resources (i.e. connection identifiers and others) in the cache.

[php] view plaincopy
  1. <?php  
  2. $memcache = new Memcache;  
  3. $memcache->connect('localhost', 11211) or die ("Could not connect");  
  4. $version = $memcache->getVersion();  
  5. echo "Server's version: ".$version."<br/>n";  
  6. $tmp_object = new stdClass;  
  7. $tmp_object->str_attr = 'test';  
  8. $tmp_object->int_attr = 123;  
  9. $memcache->set('key'$tmp_object, false, 10) or die ("Failed to save data at the server");  
  10. echo "Store data in the cache (data will expire in 10 seconds)<br/>n";  
  11. $get_result = $memcache->get('key');  
  12. echo "Data from the cache:<br/>n";  
  13. var_dump($get_result);  
  14. ?>  

Example #2 Using memcache session handler
[php] view plaincopy
  1. <?php  
  2. $session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp://$host:$port  ";  
  3. ini_set('session.save_handler''memcache');  
  4. ini_set('session.save_path'$session_save_path);  
  5. ?>  



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 显示帮助

接口介绍

Memcache客户端包含两组接口,一组是面向过程的接口,一组是面向对象的接口,具体可以参考PHP手册 “LXXV. Memcache Functions” 这章。

Memcache面向对象的常用接口包括:
Memcache::connect — 打开一个到Memcache的连接
Memcache::pconnect — 打开一个到Memcache的长连接
Memcache::close — 关闭一个Memcache的连接
Memcache::set — 保存数据到Memcache服务器上
Memcache::get — 提取一个保存在Memcache服务器上的数据
Memcache::replace — 替换一个已经存在Memcache服务器上的项目(功能类似Memcache::set)
Memcache::delete — 从Memcache服务器上删除一个保存的项目
Memcache::flush — 刷新所有Memcache服务器上保存的项目(类似于删除所有的保存的项目)
Memcache::getStats — 获取当前Memcache服务器运行的状态
Memcache::addServer — 分布式服务器添加一个服务器

原文地址:https://www.cnblogs.com/beyondhjjyt/p/3046562.html