Memcached 是一套开放源码的分布式内存快取系统, 目前已经有多个网站使用。在网站的应用上, 由于数据库的查询多数是读取, Memcached 先将数据库加以缓存, 那便可以减少数据库的读取, 从而增加效率。Memcached 在 PHP 另一个常用的地方是用作缓存 session。下文会示范在 CentOS 7 安装 Memcached 及 Memcached 的 PHP 模组。
1. 安装 Memcached
在 RHEL 及 CentOS 十分简单, 可以直接用 YUM 安装:
2. 设定 Memcached
开启 Memcached 的设定档 /etc/sysconfig/memcached:
Memcached 默认会使用埠号 11211, 及使用 512MB 内存, 默认的内容如下:
|
1 2 3 4 5 |
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="512" OPTIONS="" |
以上的设定可以根据自己的需要修改, 例如我将埠号改为 1121, 使用 1GB 内存作为缓存空间, 可以这样写:
|
1 2 3 4 5 |
PORT="1121" USER="memcached" MAXCONN="1024" CACHESIZE="1024" OPTIONS="" |
储存盘案后离开文字编辑器。
3. 启动 Memcached
安装好 Memcached 后, 启动 Memcached 及设定开机自动启动:
# systemctl start memcached
4. 开启防火墙埠号
接着是将 Memcached 使用的埠号, 在防火墙开放对外连接, 上面是使用埠号 1211:
5. 安装 Memcached 的 PHP 模组
然后用 YUM 安装 Memcached 的 PHP 模组, PHP 才可以使用 Memcached 的缓存功能:
安装后需要重新启动网页服务器及 Memcached:
# systemctl restart httpd
要测试 PHP 是否有使用 Memcached 缓存, 可以在 DocumentRoot 目录建立一个测试的 PHP 档, 用 phpinfo() 查看, 以下会在 /var/www/html/ 目录下建立 info.php 档案:
加入以下内容:
|
1 2 3 |
<?php phpinfo(); ?> |
然后尝试用浏览器存取 http://server_ip/info.php, 看到 PHP Info 的页面后, 如果可以在页面找到 “memcached” 的段落便表示安装成功了。
This is use php_memcache extension to access memcached,
I think use php-pecl-memcached maybe better if you use remi-PHP 7.2.
(yum install php-pecl-memcached)