Memcache 是一个出色的内存缓存软件,使用 key-value 键值对的方式保存数据,基本不限制保存数据的类型,你可以保存文本、数组、JSON数据等,甚至可以直接保存生成 HTML 代码,使用上非常的方便,而且几乎支持现有的大多数编程语言。
对于站长来说,最多的还是缓存数据库的查询结果,以最快的方式返回数据,提升网站的用户体验,针对 PHP 的扩展,我们可以像使用 MySQL 扩展那样使用Memcached。
Memcached能安装到不同的操作系统上面,这篇文章主要介绍在Windows中安装Memcached分布式内存对象缓存系统,Memcache的安装分为两个过程:memcache服务器端的安装和memcached客户端的安装。
首先我们需要下载Memcached,下面是本站的缓存地址,你也可以到 官方网站 下载。
将上面的压缩包下载下来,然后解压到你电脑的任意文件夹,注意文件夹的路径最好不要包含中文,比如我解压到 C:/memcached。
在命令行安装 Memcached,Windows+R 或者开始->运行,输入 CMD 敲回车进入命令提示界面,输入 C:/memcached/memcached.exe -d install 安装,一般情况下不会有任何提示和错误。
启动 Memcached 系统,紧接着上一步,继续输入 C:/memcached/memcached.exe -d start 敲回车,以后 Memcached 将作为 Windows 的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
下载 php_memcache.dll,请自己查找对应的php版本的文件
在你的 php.ini 配置文件中加入一行 extension=php_memcache.dll
重新启动 Apache 或者是 IIS,然后查看一下 phpinfo,如果有 Memcache,那么就说明安装成功!
卸载和安装可谓是反操作,按照下面的操作即可。
1、停止memcached程序
memcached -d stop
2、移除memcached的安装程序
memcached -d remove
3、删除memcached加入系统的服务
sc delete "Memcached Server"
function get_foo(foo_id)
foo = memcached_get("foo:" . foo_id)
return foo if defined foo
foo = fetch_foo_from_database(foo_id)
memcached_set("foo:" . foo_id, foo)
return foo
end
$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
get foo
VALUE foo 0 2
hi
END
stats
STAT pid 8861
(etc)
//连接
$mem = new Memcache;
$mem->connect("192.168.0.200", 12000);
//保存数据
$mem->set('key1', 'This is first value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val ."<br />";
//替换数据
$mem->replace('key1', 'This is replace value', 0, 60);
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem->set('key2', $arr, 0, 60);
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//删除数据
$mem->delete('key1');
$val = $mem->get('key1');
echo "Get key1 value: " . $val . "<br />";
//清除所有数据
$mem->flush();
$val2 = $mem->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "<br />";
//关闭连接
$mem->close();