安装与使用memcached+php

我们想使用PHP+memcache的开发组合

选择一个专门的memcache机器,要么单独准备,要么将它和php放在一起(简略版)。

1.安装

# 安装依赖
# yum -y install libevent-devel

# 下载与安装
# cd /software
# wget http://memcached.org/files/memcached-1.5.20.tar.gz
# tar xvf memcached-1.5.20.tar.gz
# cd memcached-1.5.20
# ./configure --prefix=/usr/local/memcached
# make && make install


# cd /software
# wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
# tar xvf libmemcached-1.0.18.tar.gz
# cd libmemcached-1.0.18
# ./configure --prefix=/usr/local/libmemcached && make && make install

 如果您的php版本低于7

# cd /software
# wget https://pecl.php.net/get/memcache-2.2.7.tgz
# tar xvf /software/memcache-2.2.7.tgz
# cd /software/memcache-2.2.7
# phpize
# ./configure --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
# make && make install


# cd /usr/local/php/lib/php/extensions/no-debug-zts...(这个文件夹名字不固定)

-rwxr-xr-x 1 root root  556024 Nov 15 15:52 memcache.so
文件夹里存在这个文件,则安装成功

如果是php7+

# cd /software/

我们从github上拉取一个memcache,我无法保证他的版本足够新
# git clone https://github.com/websupport-sk/pecl-memcache
# cd pecl-memcache/
# phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install

# cd /usr/local/php/lib/php/extensions/no-debug-zts...(这个文件夹名字不固定)

-rwxr-xr-x 1 root root  556024 Nov 15 15:52 memcache.so
文件夹里存在这个文件,则安装成功

启动
/usr/local/memcached/bin/memcached -u root -d
phpize若报错是因为,php命令没加入环境变量
以php安装路径为/usr/local/php/bin为例。

# echo 'export PATH=$PATH:/usr/local/php/bin' >> /etc/profile
# source /etc/profile

 

 2.连接php与memcache

# vim /usr/local/php/etc/php.ini

搜索Module Settings关键词,在他上面添加一行,
php<7 修改如下:
extension=memcache.so
php7 修改如下:
extension=memcache

# service php-fpm restart


验证
<?php
    phpinfo();
?>
页面中搜索memcache,会发现有memcache模块

3.用法

<?php
	$mem = new Memcache();
	$mem->addServer('Memcache服务器地址',11211);
	$mem->set('a','1');
	echo $mem->get('a');

4.mem用处

memcached由于它自身没有持久化的功能,在我理解我只能用它进行存储一些临时的,不重要的缓存数据。

比如在负载均衡架构下的session同步。

php中,使用memcache作为session的save handler 一般会使用如下设置:

# vim /usr/local/php/etc/php.ini
搜索session

在session专区里填写

[Session]

session.save_handler = memcache 
session.save_path = “memcache服务器IP:11211″

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值