在 Windows 主机中安装 Memcache 内存缓存
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论