说来惭愧,从事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的安装
- 首先,去下载最新的稳定版。我下载的是这个版本。
- 下载以后复制到通常安装程序的地方,我这里是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" |
Memcache的安装
从选择适当版本的php_memcache,有线程安全和非线程安全两个版本,我的PHP是5.3.x,所以我下载的是
下载后复制到PHP的ext目录,然后在系统正在使用中的php.ini中添加一行
PHP | | copy code | | ? |
1 | extension=php_memcache.dl |
写个代码测试下:
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; |