1)实验准备:
需要在已经有LNMP的基础上来进行操作
2) lnmp打memcached和memcache模块
下载php-memcached-php7.zip 点击这里 提取码:6zy2
下载pecl-memcache-NON_BLOCKING_IO_php7.zip 点击这里 提取码:lm9f
# yum -y install libmemcached libmemcached-devel
# unzip php-memcached-php7.zip
# cd php-memcached-php7/
# phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make
# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
# unzip pecl-memcache-NON_BLOCKING_IO_php7.zip
# cd pecl-memcache-NON_BLOCKING_IO_php7/
# ls
# phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make
# make install
# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
memcached.so opcache.a opcache.so
# vim /usr/local/php/php.ini
尾部添加:
extension=memcached.so
extension=memcache.so
# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
# firefox 127.0.0.1/test1.php
再次访问php页面,可以看到增加了memcached模块,如下图
3)安装memcached并启动
# tar -zxf libevent-2.0.22-stable.tar.gz
# cd libevent-2.0.22-stable/
# ./configure --prefix=/usr/local/libevent && make && make install
# cd
# tar -zxf memcached-1.4.36.tar.gz
# cd memcached-1.4.36/
# ./configure --prefix=/usr/local/memcache --with-libevent=/usr/local/libevent/
# make && make install
# ln -s /usr/local/memcache/bin/* /usr/local/bin/
# memcached -d -m 512 -u root -l 127.0.0.1 -p 11211
4)测试memcached做mysql缓存
写一个测试页面
# vim /usr/local/nginx/html/test3.php
<?php
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>";
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>";
var_dump($get_result);
?>
# firefox http://127.0.0.1/test3.php
如下结果表示缓存OK