memcache

官方网站为 http://memcached.org/

Windows下的Memcache安装 :
1. 下载memcache 的windows稳定版,解压放某个盘下面,比如在c:/memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:/memcached/memcached.exe -d install’ 安装【见底部同服务器多MEMCACHE服务的安装 】
3. 再输入: ‘c:/memcached/memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll ,请自己查找对应的php版本的文件
5. 在C:/winnt/php.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

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


在单台服务器下开启多个memcached服务

WIN下

建立服务器1:
sc create memcached1 binpath= "c:/memcached/memcached.exe -d runservice -m 64 -c 2048 -p 11211" start= auto displayname= "memcached1"

建立服务器2:

sc create memcached2 binpath= "c:/memcached/memcached.exe -d runservice -m 64 -c 2048 -p 11212" start= auto displayname= "memcached2"

建立服务器3:

sc create memcached3 binpath= "c:/memcached/memcached.exe -d runservice -m 64 -c 2048 -p 11213" start= auto displayname= "memcached3"

删除服务:sc delete "服务名" 

进入WINDOW的系统服务进行开启  memcache服务

修改:php.ini

增加:

[memcache]
memcache_hash_strategy="consistent"//一致性hash,提高因memcache服务器宕机或者增加时的命中率

测试:

$memcache = new Memcache;

$memcache->addServer('192.168.110.123', 11211);

$memcache->addServer('192.168.110.123', 11212);

$memcache->addServer('192.168.110.123', 11213);





//生成a-z的数组 

$arr=array(); 

$tmp="";

for($i=97;$i<123;$i++)

{

	$tmp=chr($i);

	$arr[$tmp]=$tmp;

} 

$tmp=null;



foreach($arr as $k => $v)

{

	

	$memcache->set($k,$k.time());

	echo $memcache->get($k),"<br/>";

}





//$memcache->flush();//清除数据

  

原来的key分布
1
z,x,v,t,s,q,n,l,k,i
g,e,b

2
y,w,u,r,p,o,m,j,h,f
d,c,a

增加一台服务器后的key分布
**********************************
1
y,v,t,r,q,p,o,j,i,g
b

2
x,w,u,l,k,h

3
z,s,n,m,f,e,d,c,a
失效了一部分数据

你可能感兴趣的:(memcache)