php memcache
Posted allen817
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php memcache相关的知识,希望对你有一定的参考价值。
1)看Architecture,是多少,x86就下载x86版的,这个显示和操作系统的多少位没半毛钱关系,不要根据操作系统的多少位来下载,这是个炕,我就被坑了。
(2)看thread safe ,如果是enable ,对于的就是ts版的,否则就是nts版的。
(3)看Compiler,的后缀,一般带有vc11的字样,下载对应的版本
php_memcache-3.0.8-5.6-ts-vc11-x86.zip
http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/
2.修改D:/xampp/php/php.ini
将压缩包里的php_memcache.dll解压缩到D:\xampp\php\ext
在php.ini增加
extension=php_memcache.dll
并在末行添加
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211
3.下载memcached
http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available (他这个失效,我找的http://101.110.118.66/s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip,http://101.110.118.24/s3.amazonaws.com/downloads.northscale.com/memcached-win32-1.4.4-14.zip)
以管理员身份运行cmd,进入d:\xampp\memcached
memcached.exe –d install //安装
memcached.exe –d start //启动
.来源网址:http://blog.csdn.net/ruoshuiyx/article/details/54575099
这里写一点我加上的
telnet 连接
telnet 链接 memcache (如白提示telnet不是内部或外部命令,可百度解决,大概是到控制面板-》程序和功能-》右边有一个打开或关闭windows功能-》把telnet 客户端选上就可以了)
cmd 命令下 输入127.0.0.1 11211 默认端口是11211
进入后 回车后输入 stats 能看到一堆设置就成功了
php 连接
上面第2点要成功执行 可能phpinfo()查看是否有memcache 扩展
写一个简单的测试
$memcache = memcache_connect(‘localhost‘, 11211);
if ($memcache) {
$memcache->set("str_key", "String to store in memcached");
$memcache->set("num_key", 123,0,60);
//bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )
//Memcache::set()向key存储一个元素值为 var。参数expire是以秒为单位的失效时间, 如果设置为0表明该元素永不过期(但是它可能会因为为了给其他项分配空间而被删除)。如果你希望存储的元素 经过压缩(使用zlib),你可以设置flag的值为MEMCACHE_COMPRESSED。
$array = Array(‘assoc‘=>123, 345, 567);
$memcache->set("arr_key", $array);
echo "<hr>";
var_dump($memcache->get(‘str_key‘));
echo "<hr>";
var_dump($memcache->get(‘num_key‘));
echo "<hr>";
var_dump($memcache->get(‘arr_key‘));
}
else {
echo "连接失败";
}
以上是关于php memcache的主要内容,如果未能解决你的问题,请参考以下文章