1.memcache服务端安装:
1)下载包libevent-1.4.14b-stable.tar.gz和memcached-1.4.5.ta.gz
tar zvxf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/usr
//默认路径安装,默认目录/usr/local/lib
make && make install
3) memcached服务端安装 下载地址(https://memcached.org/)
1 2 3 4 | tar zxvf memcached-1.4.5.tar.gz cd memcached-1.4.5 ./configure --prefix=/usr/local/memcache/ --with-libevent=/usr make & make install |
启动:/usr/local/bin/memcached -d -m 512 -p 11211 -u root
配置开机自启动
# vim /etc/init.d/memcached
#! /bin/sh## chkconfig: - 55 45# description: The memcached daemon is a network memory cache service.# processname: memcached# config: /etc/sysconfig/memcached # Source function library.. /etc/rc.d/init.d/functions PORT=11211USER=nobodyMAXCONN=1024CACHESIZE=64OPTIONS="" if [ -f /etc/sysconfig/memcached ];then . /etc/sysconfig/memcachedfi # Check that networking is up.if [ "$NETWORKING" = "no" ]then exit 0fi RETVAL=0prog="memcached" start () { echo -n $"Starting $prog: " # insure that /var/run/memcached has proper permissions chown $USER /usr/local/java/memcached-1.5.9 daemon /usr/local/java/memcached-1.5.9/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /usr/local/java/memcached-1.5.9/memcached.pid $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached}stop () { echo -n $"Stopping $prog: " killproc memcached RETVAL=$? echo if [ $RETVAL -eq 0 ] ; then rm -f /var/lock/subsys/memcached rm -f /usr/local/java/memcached-1.5.9/memcached.pid fi} restart () { stop start} # See how we were called.case "$1" in start) start ;; stop) stop ;; status) status memcached ;; restart|reload) restart ;; condrestart) [ -f /usr/local/java/memcached-1.5.9 ] && restart || : ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" exit 1esac exit $?
并通过chmod命令赋予权限执行命令:chmod 755 /etc/init.d/memcached
将memcached加入系统服务
执行命令:
# chkconfig --add memcached
# chkconfig memcached on
启动memcached服务
执行命令:
# service memcached start
通过命令 ps -ef|grep memcached 查看memcached服务是否启动成功,如果没有成功,检查脚本里的memcached目录是否正确,或者memcached是否安装完整。
下载libmemcached源码
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
1 cd /usr/local/src2 wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz3 tar zxvf libmemcached-1.0.18.tar.gz4 cd libmemcached-1.0.185 ./configure --prefix=/usr/local/libmemcached6 make && make install
安装php-fpm的memcached扩展
1 cd /usr/local/src2 wget http://pecl.php.net/get/memcached-2.2.0.tgz3 tar zxvf memcached-2.2.0.tgz4 cd memcached-2.2.0
到了这一步,我们要使用安装php时生成的 phpize 来生成 configure 配置文件
1 /usr/local/php/bin/phpize \2 --with-php-config=/usr/local/php/bin/php-config3 ./configure --with-php-config=/usr/local/php/bin/php-config \4 --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl5 make && make install
--with-php-config 指定 php-config,该文件与 phpize 所在目录相同,
--with-libmemcached-dir 指定 libmemcached 安装目录,就刚才我们 --prefix 那个目录 ,
--disable-memcached-sasl 说明我们系统不支持sasl.h
如果安装成功,会提示:Installing shared extension:/usr/local/php/lib/extensions/no-debug-non-zts-20160524/ 等类信息
接下来,我们编辑php配置文件php.ini,把 php-memcached 扩展加到配置文件。
在 php.ini 中添加以下内容:
1 extension=memcached.so
最后重启nginx和php-fpm
重启完之后,检查是否安装完成php-memcached扩展
在nginx的web根目录下创建一个test.php文件
1
在浏览器中输入服务器ip地址
以上说明memcached的php扩展安装成功以。
php其他扩展均可根据此方法安装。
使用php简单操作memcached
其实 memcached 和 redis 、 是没什么两样,同是数据库,(redis是非关系数据库,mysql是关系数据库),因此使用也是差不多的,同样具有命令行使用和php操作使用,关于memcached的更多命令大家可以自行百度。
1 addServers($server); 8 9 $mem->set('name','zhangsan',15); ////设置缓存值,有效时间3600秒,如果有效时间设置为0,则表示该缓存值永久存在的(系统重启前)10 echo $mem->get('name');11 12 ?>
参考:
1 addServers($server); 8 9 $mem->set('name','zhangsan',15); ////设置缓存值,有效时间3600秒,如果有效时间设置为0,则表示该缓存值永久存在的(系统重启前)10 echo $mem->get('name');11 12 ?>
参考: