Centos 安装Memcache + phpmemcached

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
 
检查是否安装成功:
 ls -al /usr/local/libevent-2.0.21-stable/lib | grep libevent
 
 

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

 -d  选项是启动一个守护进程。
-m  分配给Memcache使用的内存数量,单位是MB,默认64MB。
-l  监听的IP地址。(默认:INADDR_ANY,所有地址)
-p  设置Memcache的TCP监听的端口,最好是1024以上的端口。
-u  运行Memcache的用户,如果当前为root的话,需要使用此参数指定用户。
-c  选项是最大运行的并发连接数,默认是1024。
-P  设置保存Memcache的pid文件。
 

配置开机自启动

#  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=11211
USER=nobody
MAXCONN=1024
CACHESIZE=64
OPTIONS=""
 
if [ -f /etc/sysconfig/memcached ];then
    . /etc/sysconfig/memcached
fi
 
# Check that networking is up.
if [ "$NETWORKING" = "no" ]
then
    exit 0
fi
 
RETVAL=0
prog="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 1
esac
 
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是否安装完整。

 
 
4)php 扩展 memcached(下载地址http://pecl.php.net/package/memcached)
  php7 安装只能安装memcache
  下载地址( https://github.com/websupport-sk/pecl-memcache/archive/php7.zip   )
  php7 memcached安装地址
yum install gcc-c++ -y
yum install cyrus-sasl-devel
 
 

下载libmemcached源码

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz 

 
  客户端需安装libmemcached库
复制代码
1 cd /usr/local/src
2 wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
3 tar zxvf libmemcached-1.0.18.tar.gz
4 cd libmemcached-1.0.18
5 ./configure --prefix=/usr/local/libmemcached
6 make && make install
复制代码

安装php-fpm的memcached扩展

1 cd /usr/local/src
2 wget http://pecl.php.net/get/memcached-2.2.0.tgz
3 tar zxvf memcached-2.2.0.tgz
4 cd memcached-2.2.0

到了这一步,我们要使用安装php时生成的 phpize 来生成 configure 配置文件

1 /usr/local/php/bin/phpize \
2 --with-php-config=/usr/local/php/bin/php-config
3 ./configure --with-php-config=/usr/local/php/bin/php-config \
4 --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
5 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 <?php
2     phpinfo();
3 ?>

在浏览器中输入服务器ip地址

以上说明memcached的php扩展安装成功以。

php其他扩展均可根据此方法安装。

 使用php简单操作memcached

其实 memcached 和 redis 、MySQL 是没什么两样,同是数据库,(redis是非关系数据库,mysql是关系数据库),因此使用也是差不多的,同样具有命令行使用和php操作使用,关于memcached的更多命令大家可以自行百度。

复制代码
 1 <?php
 2     
 3     $mem=new Memcached();    //实例化Memcached类
 4     $server=array(
 5         array('127.0.0.1',11211), 
 6     );
 7     $mem->addServers($server);
 8 
 9     $mem->set('name','zhangsan',15);    ////设置缓存值,有效时间3600秒,如果有效时间设置为0,则表示该缓存值永久存在的(系统重启前)
10     echo $mem->get('name');
11 
12 ?>
复制代码

参考:http://blog.csdn.net/baidu_30000217/article/details/51494007

 
 
 
 
 

 

 1 <?php
 2     
 3     $mem=new Memcached();    //实例化Memcached类
 4     $server=array(
 5         array('127.0.0.1',11211), 
 6     );
 7     $mem->addServers($server);
 8 
 9     $mem->set('name','zhangsan',15);    ////设置缓存值,有效时间3600秒,如果有效时间设置为0,则表示该缓存值永久存在的(系统重启前)
10     echo $mem->get('name');
11 
12 ?>
复制代码

参考:http://blog.csdn.net/baidu_30000217/article/details/51494007

转载于:https://www.cnblogs.com/jasonLiu2018/articles/10622657.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值