本文实例讲述了Linux下安装Memcached服务器和客户端与php使用。分享给大家供大家参考,具体如下:
Memcached是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度和可扩展性。
系统环境:CentOS 7.2 64位 Apache2.4.33
安装libevent依赖库
代码语言:javascript复制wget https://github.com/downloads/libevent/libevent/libevent-2.0.15-stable.tar.gz
tar -zxvf libevent-2.0.15-stable.tar.gz
cd libevent-2.0.15-stable
./configure --prefix=/usr/local
make
sudo make install
安装Memcached服务器
代码语言:javascript复制wget http://memcached.googlecode.com/files/memcached-1.4.9.tar.gz
tar -zxvf memcached-1.4.9.tar.gz
cd memcached-1.4.9
./configure --prefix=/usr/local/memcached
make
sudo make install
启动Memcache服务器:
/usr/local/memcached/bin/memcached -d -m 128 -u root -p 11211
安装Memcached客户端
代码语言:javascript复制wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar -zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
make
sudo make install
【make报错: *** [memcache.lo] Error 1】解决方法:
进入memcache安装目录,找到mamcache.c文件,将所有的zend_list_insert加上TSRMLS_CC,形如:zend_list_insert(pool, le_memcache_pool TSRMLS_CC);
客户端安装好之后,我们发现PHP扩展库中多了一个memcache.so
在PHP配置文件php.ini中加入该扩展:
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/memcache.so
重启服务器,通过输出phpinfo()查看该扩展相关信息
下面写一个简单的例子,实现memcache扩展与Memcached服务器的交互
代码语言:javascript复制<?php
$mc = new Memcache(); //创建Memcache对象
$mc- connect("127.0.0.1", 11211); //连接Memcached服务器
$mc- set('test','hello world',0,10); //存储数据
echo $mc- get('test'); //获取数据
$mc- delete('test'); //删除数据
$mc- flush(); //强制刷新全部缓存,即清空Memcached服务器
$mc- close(); //断开与Memcached服务器的连接