Linux 之 Memcached

Memcached的安装使用


 参考教程:【千峰教育


环境:CentOS 6.8


一、简介:

  memcached作为高速运行的分布式缓存服务器,具有以下的特点。
  · 协议简单
  · 基于libevent的事件处理
  · 内置内存存储方式
  · memcached不互相通信的分布式


二、安装依赖包

yum install -y libevent-devel

 

三、安装memcached

  1、下载:

wget http://memcached.org/files/memcached-1.5.12.tar.gz

  2、解压:

tar -zxvf memcached-1.5.12.tar.gz

  3、配置、安装

cd memcached-1.5.12
./configure --prefix=/usr/local/memcached --enable-64bit
make && make install

  4、开启服务:

cd /usr/local/memcached/bin
./memcached -u www -d

  参数说明:

    -p:指定端口,默认为11211
    -m:指定内存,根据自己硬件设置
    -u:指定用户,不能是root
    -d:后台运行


四、安装libmemcached

  (libmemcached 是一个memcached的客户端库)

  1、下载:

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

  2、解压:

tar -zxvf libmemcached-1.0.18.tar.gz

  3、配置、安装

cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached --with-memcached
make && make install

 

五、安装php-memcached扩展

  (教程上是unzip php-memcached-php7.zip,但是我没找到,使用的下面的扩展)

  1、下载:

wget https://pecl.php.net/get/memcached-3.1.3.tgz

  2、解压:

tar -zxvf memcached-3.1.3.tgz

  3、配置、安装

cd memcached-3.1.3
phpize
./configure --with-php-config=/usr/local/php7/bin/php-config 
--with-libmemcached-dir=/usr/local/libmemcached/

make && make install

  注意事项:

    第一:phpize ,这个命令在php的安装目录下的bin目录下,即/usr/local/php7/bin/,专门解压php扩展库的。

      如果报错,提示没有这个命令,就把这个命令的位置添加到环境变量里:
      vim /etc/profile
      export PATH=$PATH:/usr/local/php7/bin
      source /etc/profile
    第二:使用phpize报错,提示Autoconf版本低,需要升级,没有生成configure文件,影响下一步编译。

    第三:使用./configure时报错提示没有文件,检查上一步的phpize命令是否报错。

  4、在php的配置文件php.ini中增加Memcached扩展。

    上一步执行成功时,最后会显示扩展路径:

      示例:

        Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/

    复制这个路径,

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

      增加一行:

      extension="usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/memcached.so"

    注意:每个环境的路径不太一样。

  5、重启php:  
    service php-fpm restart


六、使用memcached

创建新对象:new Memcached
添加服务器:addServer
添加键值对:set
根据键获取值:get
删除键值对:delete
增加指定数值:increment
减去指定数值:decrement
清空所有缓存:flush


七、设置session使用Memcached保存

vim /usr/local/php7/etc/php.ini
session.save_handler = memcached
session.save_path = "127.0.0.1:11211"


八、代码示例

$m = new Memcached();
$m->addServer('127.0.0.1',11211);
$m->set('name','zhang san');
$name = $m->get('name');
echo $name;

===============================================
使用phpize时报错:
configure.ac:3: error: Autoconf version 2.68 or higher is required
解决:
(1)查询当前版本:
命令:rpm -qf /usr/bin/autoconf
autoconf-2.63-5.1.el6.noarch
(2)卸载当前版本:
命令: rpm -e --nodeps autoconf-2.63
(3)安装新版本:
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar -zxvf autoconf-2.69.tar.gz
cd autoconf-2.69
mkdir -p /usr/local/autoconf
./configure --prefix=/usr/local/autoconf/
make && make install
(4)查看版本:
/usr/local/autoconf/bin/autoconf -V
=======================================================


原文地址:https://www.cnblogs.com/gyfluck/p/10523771.html