说来惭愧,从事PHP已经1年多了,但是很多PHP相关的知识都不知道。
前一阵子看到网上流传了很久的面试题,才了解到原来还有memcache这么个东西-_-。
memcache 具体是什么Google一下就好了,需要说明的是有些文章误人子弟、混淆视听。所以还是说一下:
- memcache是比较流行的cache解决方案,是高效、快速的分布式内存对象缓存系统,主要用于加速 WEB 动态应用程序
- memcached是运行在缓存服务器上的服务端程序名。
- memcache是memcache server的client端,有各种语言的版本,如:java、python、php等。(本文讲述php_memcache.dll的php模块安装方式。)
- memcache不是必须和apache安装在同一台服务器,可以把memcache server看成是DB服务器,一台可以供多台使用;和apache安装在一起可以使资源充分使用,apache占用CPU多,内存相对较少,而memcache占用CPU低,内存多。
看到Memcached server这么好,想研究Memcache,于是就尝试这在自己的本本上搭建Memcached的开发调试环境,特此记录下自己安装的过程。
Memcache的安装分为两大块:
- memcache服务器端安装
- memcache客户端安装
所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储
所谓客户端的安装就是指为php添加扩展,如PHP_memcache.dll,apache启动后使用服务器端的Memcache提供的函数。
Memcached Server的安装
- 首先,去memcached-win32下载最新的稳定版。我下载的是memcached 1.2.4 beta for Win32 binaries这个版本。
- 下载以后复制到通常安装程序的地方,我这里是e:\program files\memcached,复制好以后执行以下命令:
由于我的本本是windows 7操作系统,所以和vista系统一样,执行命令行前需要在命令提示行点右键,选择“以管理员身份运行”
PHP | | copy code | | ? |
1 |
cd E:\Program Files\memcached
|
2 |
e:
|
3 |
memcached -u administator -d install |
4 |
net start "memcached server"
|
一般来讲,服务器就算安装完成了,以后每次开机都会自动启动Memcached Server。
Memcache的安装
从http://downloads.php.net/pierre/选择适当版本的php_memcache,有线程安全和非线程安全两个版本,我的PHP是5.3.x,所以我下载的是http://downloads.php.net/pierre/php_memcache-2.2.6-5.3-vc9-x86.zip
下载后复制到PHP的ext目录,然后在系统正在使用中的php.ini中添加一行
PHP | | copy code | | ? |
1 |
extension=php_memcache.dl |
重启apache,执行phpinfo();看到memcache模块就算安装成功了。
写个代码测试下:
PHP | | copy code | | ? |
1 |
$mem = new Memcache; |
2 |
$mem->connect("localhost", 11211); |
3 |
$mem->set('key', 'value', 0, 60); |
4 |
$val = $mem->get('key'); |
5 |
echo $val; |