在php中memcache扩展的使用
- memcached服务端在windows环境下的安装
下载memcached的稳定版本,终端命令启动(管理员权限),
执行memcached.exe -d install进行安装;
执行memcached.exe -d start进行启动,
可以使用telnet客户端请求查看memcached服务是否启动成功,连接成功,输入stats,
结果如下:
windows下安装php的memcache的扩展
windows下安装php的memcache的扩展还是比较简单的,
唯一值得注意的是php版本与memcache版本一定要对应,切记
比如我的php版本是5.5.12_TS_VC11_x86,对应的memcache版本应该是这个:
下载完成后解压,将文件php_memcache.dll拷贝到php扩展所在目录下,
我的在:G:\wamp\bin\php\php5.5.12\ext;
同时修改apache的bin目录下的php.ini,注意是apache目录下的php.ini,不是php目录下的php.ini,
我的在:G:\wamp\bin\apache\apache2.4.9\bin\php.ini,
添加这句:extension=php_memcache.dll,
然后重启apache服务,查看phpinfo()会出现:
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 显示帮助php中memcache应用例子:
$memcache = new Memcache;
$memcache->connect('127.0.0.1',11211);
$memcache->set('key','hello memcache!');
$out = $memcache->get('key');
echo $out.'
';
//保存数据
$memcache->set('key1', 'qqqqqqqqqqqqq', 0, 60);
$val = $memcache->get('key1');
echo "Get key1 value: " . $val ."
";
//替换数据
$memcache->replace('key1', 'wwwwwwwwwwwwww', 0, 60);
$val = $memcache->get('key1');
echo "Get key1 value: " . $val . "
";
//保存数组
$arr = array('11', '22', '33', '44');
$memcache->set('key2', $arr, 0, 60);
$val2 = $memcache->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "
";
//删除数据
$memcache->delete('key1');
$val = $memcache->get('key1');
echo "Get key1 value: " . $val . "
";
//清除所有数据
$memcache->flush();
$val2 = $memcache->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "
";
//关闭连接
$memcache->close();
结果如下:
hello memcache!
Get key1 value: qqqqqqqqqqqqq
Get key1 value: wwwwwwwwwwwwww
Get key2 value: Array ( [0] => 11 [1] => 22 [2] => 33 [3] => 44 )
Get key1 value:
Get key2 value: