一个计算机技术爱好者与学习者

0%

好好学PHP:PHP使用Memcache

1. memcache简介

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。

memcache有memcache和memcached两种名称,其实memcache是这个项目的名称,而memcached是它服务器端的主程序文件名。

memcached是一种服务器,是内存缓存服务器,就像apache服务器一样。只不过apache是用来提供web服务,而memcached是用来进行内存缓存。那么memcache客户端呢?我们可能用php开发网站,也可能用java或者python,这些相对与服务器来说是客户,都在使用服务器的服务。
在php的扩展中加入memcache,就可以调用服务器的服务了,就是可以调用memcached来进行内存缓存了。

2. 下载安装memcached服务端

1、下载memcahed,wget http://www.memcached.org/files/memcached-1.5.1.tar.gz

2、解压源码,tar -xvf memcached-1.5.1.tar.gz

3、编译安装,cd memcached-1.5.1./configuremake && make install

3. 启动memcached服务端

1、memcached的默认目录为/usr/local/bin/memcached

2、启动memcache,memcached -u root -d

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

或者,service memcached start

3、验证安装结果,memcached -h

4、设置开机启动,chkconfig memcached on

5、查看监听端口,yum install lsoflsof -i tcp:11211

4. php安装memcache

4.1. 安装libmemcached

1、下载
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

2、解压
tar -xvf libmemcached-1.0.18.tar.gz

3、编译安装到/usr/local/libmemcached
cd libmemcached-1.0.18

./configure --prefix=/usr/local/libmemcached

make && make install

4.2. 安装memcached的PHP扩展

1、下载
wget https://pecl.php.net/get/memcached-2.2.0.tgz

2、解压
tar -xvf memcached-2.2.0.tgz

3、生成配置文件
cd memcached-2.2.0

/usr/local/php/bin/phpize

4、编译安装
./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl

make && make install

5、修改php.ini,添加 extension = "memcached.so"

6、验证安装结果,/usr/local/php/bin/php -m | grep memcache,如果出现memcached,则证明安装成功。

7、重启php-fpm,service php-fpm restart

8、访问 http://host_ip/p.php,ctrl+f,查找memcache,如果能找到memcache,则证明成功启动。

5. 测试

1、在web目录下,新建mem.php,内容如下:

1
2
3
4
5
6
7
<?php
$mem = new Memcached;
$mem->addServer("127.0.0.1", 11211);
$mem->set('key', 'hello memcache!');
$val = $mem->get('key');
echo $val;
?>

2、访问 http://host_ip/mem.php,即可看到“hello memcached!”。至此,memcache安装配置成功!

6. 书签

教你CentOS 7下安装操作Memcached

centos yum安装memcached及php memcache扩展

Nginx中文官方文档 Memcached

ngx_http_memcached_module

  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-php-memcache/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~