Memcache是什么?
Memcache是一个自由和开放源代码、高性能、分配内存对象缓存的系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,由Memcached自己管理这些HashTable。
Memcache知名用户:LiveJournal、Wikipedia、Flickr、Bebo、Twitter、Typepad、 Yellowbot、Youtube等。
Memcache官方网站:http://memcached.org/
Memcached又是什么?
Memcache是该系统的项目名称,Memcached是该系统的主程序文件,以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。
那PHP中的Memcache是什么?
php中所讲的memcache是用于连接Memecached的客户端组件。
Memcached的安装:
从官方网站下载最新的memcached,当前最新版本为memcached-1.4.5.tar.gz
除此之外,memcached用到了libevent。因此,安装memcached前,先要安装libevent。
libevent下载地址:http://monkey.org/%7Eprovos/libevent/
,我选择的版本为libevent-1.4.14b-stable.tar.gz
# tar -xzf libevent-1.4.14b-stable.tar.gz
# cd libevent-1.4.14b-stable
# ./configure --prefix=/usr/local/libevent
# make && make install
# tar -xzf memcached-1.4.5.tar.gz
# cd memcached-1.4.5
# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
# make && make install
运行memcached守护程序
# /usr/local/memcached/bin/memcached -d -m 128 -l 192.168.1.200 -p 11211 -u daemon
或者
# /usr/local/memcached/bin/memcached -d -m 128 -l 192.168.1.200 -p 11211 -u daemon -P /var/run/memcached.pid -c 1024
相关参数说明:
-p memcached监听的TCP端口
-l 监听的ip地址
-d 以daemon方式运行,将程序放入后台
-u memcached的运行用户,我设定的是nobody
-P memcached的pid文件路径
-m memcached可以使用的最大内存数量
-c memcached同时可以接受的最大的连接数
如果希望以socket方式访问memcached,在启动的时候需要去掉-l和-p参数,并加上-s参数:-s memcached的socket文件路径
详细参数可以通过man memcached查看。
Memcache-php的安装:
Memcache-php是众多PECL中的一种,下载地址:http://pecl.php.net/package/memcache
PECL即PHP Extension Community Library的缩写,目的是提供PHP社群各种延伸函式库。
PECL在linux中的安装分为以下几种:
* 用PEAR编译共享PECL扩展库
* 用phpize编译共享PECL扩展库
* 将PECL扩展库静态编译入PHP
详细参见:http://php.chinaunix.net/manual/zh/install.pecl.php。
用phpize编译共享PECL扩展库:
# tar vxzf memcache-2.0.4.tgz
# cd memcache-2.0.4
# /usr/local/php5/bin/phpize
#./configure --with-php-config=/usr/local/php5/bin/php-config
# make
# make install
提示:/usr/local/php//lib/php5/extensions/no-debug-non-zts-20060613
然后修改php.ini
把
extension_dir = "./"
修改为
extension_dir = "/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613"
并添加一行
extension=memcache.so
将PECL静态编译入PHP:
# tar xvf memcache-2.2.6.tgz
# cd /usr/local/software/php-5.1.4/ext
# mv /usr/local/software/memcache-2.2.6 ./memcache
强制PHP重新生成配置脚本,然后正常编译PHP:
# cd /usr/local/software/php-5.1.4
# rm configure
# ./buildconf --force
# ./configure --help
# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/webserver/apache2/bin/apxs --with-config-file-path=/usr/local/php5/etc/ --with-mysql=/usr/local/mysql --with-gd=/usr/local/gd2 --with-jpeg-dir=/usr/local/jpeg6 --with-zlib-dir=/usr/local/lib --with-png-dir=/usr/local/libpng2 --with-freetype-dir=/usr/local/freetype --enable-soap --enable-gd-native-ttf --enable-ftp --enable-memcache
# make && make instal
Note1:
要运行“buildconf”脚本,需要autoconf2.13和automake1.4+(更新版本的 autoconf 也许能工作,但不被支持)。
Note2:
#buildconf --force可能导致配置文件无法生效,推荐使用第二种安装方法。
$memcache = new Memcache;
$memcache->connect('192.168.1.200','11211');
$memcache->setCompressThreshold(20000, 0.2); // 设置压缩
echo $memcache->getVersion(); // 输出memcached版本
$test = array(1,2,3,4,5,'abcde'); //生成一个数组
if($memcache->get('test')){
print_r($memcache->get('test')); //获取数据
echo "\n";
echo 'cached';
echo "\n";
}else{
$memcache->set('test',$test,0,30); //写入数据
echo 'no cache';
echo "\n";
}
分享到:
相关推荐
本文详细介绍了如何在 Linux 系统下安装 Memcached 及其 PHP 扩展的过程。按照这些步骤操作,可以确保 Memcached 正确地安装并运行在您的服务器上,从而提高应用程序的性能和响应速度。如果在安装过程中遇到任何问题...
在这个教程中,我们将详细介绍如何在Linux系统上安装和配置Memcached,以及如何安装libevent、libmemcached和PHP的Memcache扩展。 一、安装前准备 在开始安装之前,确保你的Linux系统已经更新到最新版本,并安装了...
在Linux系统,特别是CentOS 5.3这样的老版本中,安装和配置现代软件可能会遇到一些挑战,因为这些系统可能不包含最新版本的库和工具。在这个教程中,我们将详细介绍如何在CentOS 5.3上安装Memcached服务以及相关的...
PHP的原生memcache扩展并不支持CAS,因此需要安装memcached扩展,该扩展基于libmemcached库,提供更完善的并发处理功能。 2. **检查memcached服务器端** 在安装memcached扩展之前,首先需要确保系统中已经安装了...
这篇教程将详细介绍如何在CentOS上安装Memcache及其PHP Memcache扩展。 首先,确保你的系统是最新的,运行以下命令更新系统: ```bash sudo yum update -y ``` 接下来,安装必要的编译工具和依赖库,这将为后续的...
本文将详细介绍如何在Linux环境下安装和配置Memcache服务器端及PHP扩展。 首先,确保你的系统满足基本的安装条件。你需要一个支持编译的环境,通常在Linux发行版中,如Ubuntu、CentOS或Debian,这些环境已经预装。...
《PHP7 Memcache扩展3.0.9在Linux上的安装与使用详解》 在Web开发领域,PHP作为服务器端脚本语言,广泛应用于构建动态网站。为了提高网站性能,开发者通常会利用缓存技术,而Memcache就是一种广泛应用的分布式内存...
- `extension=memcache.so`:启用Memcache扩展。 - `extension=memcached.so`:启用Memcached扩展。 #### 九、总结 通过以上步骤,我们完成了Memcached服务端及其PHP扩展的安装配置过程。这使得PHP应用程序能够...
总结来说,安装Linux下的PHP Memcache扩展需要安装libevent库,编译并安装Memcached服务,以及解决编译PHP扩展时可能出现的兼容性问题。安装完成后,通过PHP代码进行测试以确保功能正常。这个过程对于优化网站性能和...
这个文件是`php_memcache`扩展的动态链接库文件,它是PHP运行时调用`php_memcache`功能的核心组件。在Windows环境下,`dll`文件通常被PHP解释器加载,以便在PHP脚本中使用`memcache`相关的函数。 **安装和配置** ...
在Ubuntu系统下安装Memcache服务器端涉及到几个关键步骤,包括安装libevent库、memcached程序本身以及PHP的memcache扩展。以下详细知识点将基于给定文件内容,具体介绍在Ubuntu环境下安装memcache的流程。 首先,...
这个资源包包含了安装PHP Memcached扩展所需的组件,特别是`php_memcache.dll`文件,这是一个Windows平台上的动态链接库,它使PHP能够理解和处理Memcached协议。在Linux或其他Unix-like系统上,这个文件可能是`...
总结来说,安装CentOS下的Memcached和PHP Memcached扩展需要依次完成安装依赖、编译安装Memcached、配置自启动、安装libmemcached库以及安装和配置PHP Memcached扩展。这个过程虽然有些繁琐,但遵循上述步骤,可以...
在Linux环境下安装Memcached是一项常见的任务,特别是在搭建高性能、分布式内存缓存系统时。Memcached是一款轻量级的、开源的、基于内存的数据存储服务,它用于存储小块的任意类型的数据,如数据库查询结果、网页...
在Linux环境下搭建Memcached集群是优化服务性能的关键步骤,尤其是对于那些处理大量数据和高并发请求的Web应用程序。本文将详细介绍如何在Linux上构建一个基于淘宝月光宝盒(Taobao MoonBox)架构的Memcached集群。 ...
3. Memcached服务本身也需要安装并运行,才能通过PHP的memcache扩展进行通信。 4. 在使用过程中,注意内存限制和并发访问控制,避免数据冲突或内存溢出。 压缩包文件名称“PHP7-memcache-dll”暗示这是一个包含多种...
PHP Memcache扩展是一个允许PHP与Memcached内存缓存系统交互的接口。Memcached是一种分布式内存对象缓存系统,旨在通过减少数据库负载来加速动态Web应用程序。PHP Memcache扩展为开发者提供了便捷的方式来存储和获取...
标题中的“Windows下memcached+memcached.dll 5.3.8”指的是在Windows操作系统上安装和使用Memcached服务的场景,其中`memcached.dll 5.3.8`是Memcached服务器的一个特定版本的动态链接库文件。Memcached是一款高...