在 Windows 主机中安装 Memcache 内存缓存

发布于 2017-09-14 22:35:00 字数 3236 浏览 2307 评论 0

Memcache 是一个出色的内存缓存软件,使用 key-value 键值对的方式保存数据,基本不限制保存数据的类型,你可以保存文本、数组、JSON数据等,甚至可以直接保存生成 HTML 代码,使用上非常的方便,而且几乎支持现有的大多数编程语言。

对于站长来说,最多的还是缓存数据库的查询结果,以最快的方式返回数据,提升网站的用户体验,针对 PHP 的扩展,我们可以像使用 MySQL 扩展那样使用Memcached。

Memcached能安装到不同的操作系统上面,这篇文章主要介绍在Windows中安装Memcached分布式内存对象缓存系统,Memcache的安装分为两个过程:memcache服务器端的安装和memcached客户端的安装。

  • 所谓服务器端的安装就是在服务器上安装Memcache实现数据的存储
  • 所谓客户端的安装就是指PHP(或者其他程序,Memcache还有其他不错的api接口提供)去使用服务器端的Memcache提供的函数,需要PHP添加扩展。

安装 Memcache

首先我们需要下载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,那么就说明安装成功!

卸载 Memcache

卸载和安装可谓是反操作,按照下面的操作即可。

1、停止memcached程序

memcached -d stop

2、移除memcached的安装程序

memcached -d remove

3、删除memcached加入系统的服务

sc delete "Memcached Server"

使用 Memcache

缓存结果

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 中使用

$ 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)

在 PHP 中使用

//连接
$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();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84959 人气
更多

推荐作者

风暴

文章 0 评论 0

乐玩

文章 0 评论 0

英雄似剑

文章 0 评论 0

秋风の叶未落

文章 0 评论 0

luoshaoja

文章 0 评论 0

吴彦文

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文