Memcached 是一种高性能、开源的内存中键值缓存服务,在很多方面都很方便。首先,它通过缓存会话数据、用户身份验证令牌和 API 调用来帮助加快应用程序的速度。此外,它还提供了一种有助于跨多个应用程序实例共享数据的机制。
那么,使用 Memcached 有什么好处呢?我们可以将其优点总结为两个:提高应用程序性能和降低运行应用程序的成本,因为它是免费的。
本篇文章将向您展示如何在 RHEL 8 / CENTOS 8 中安装 Memcached。
必备条件
- Minimal Installed RHEL 8 or CentOS 8 stream.
- A standard user with sudo or elevated privileges
(1) 安装 Memcached Server
更新系统包列表
$ sudo dnf update -y
安装 memcached
$ sudo dnf install -y memcached libmemcached
看到下面的输出,表明安装成功。
验证 memcached 是否安装成功
$ rpm -q memcached
memcached-1.5.9-2.el8.x86_64
$
有关 Memcached 的更详细信息,请使用 -qi 参数,这将显示更深入的信息,如 Memcached 版本、架构、安装日期、构建日期等等。
$ rpm -qi memcached
(2) 配置 Memcached
memcached 默认配置文件为 /etc/sysconfig/memcached,默认情况下,它监听在端口 11211 和 localhost 上听,如在第 5 行上的 127.0.0.1 所示。
$ cat -n /etc/sysconfig/memcached
1 PORT="11211"
2 USER="memcached"
3 MAXCONN="1024"
4 CACHESIZE="64"
5 OPTIONS="-l 127.0.0.1,::1"
$
如果连接到 Memcached 的应用程序位于与 Memcached 相同的服务器上,请保持默认配置不变。
如果您在同一个 LAN 上的远程系统上运行一个应用程序,并且希望它连接到 Memcached 服务器,请调整第 5 行,将 localhost 地址 127.0.0.1 替换为远程系统的 IP 地址,示例如下:
$ sudo vi /etc/sysconfig/memcached
1 PORT="11211"
2 USER="memcached"
3 MAXCONN="1024"
4 CACHESIZE="64"
5 OPTIONS="-l 192.168.2.100,::1"
保存并退出配置文件
(3) 配置防火墙
此外,我们还需要在防火墙上放行 11211 端口,允许连接到 Memcached 服务器。
$ sudo firewall-cmd --add-port=11211/tcp --zone=public --permanent
$ sudo firewall-cmd --reload
(4) 启动并启用 Memcached 服务
完成所有配置后,启动并启用 Memcached 服务,如下所示
$ sudo systemctl start memcached
$ sudo systemctl enable memcached
验证 Memcached 服务的状态
$ sudo systemctl status memcached
Memcached 与 PHP 集成
如前所述,Memcached 可用于加速应用程序,您需要在服务器上安装特定语言的客户机。例如,如果您正在运行一个 PHP 应用程序,如 WordPress、OwnCloud 或 Magento,请安装 php-pecl-memcached 扩展。
php-pecl-memcached 扩展在默认的 CentOS 8 存储库中不可用,我们必须启用 epel 和 remi 存储库
$ sudo dnf install epel-release -y
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
$ sudo dnf module enable php:remi-7.4 -y
$ sudo dnf install -y php-pecl-memcache php-pecl-memcached
开始测试,让我们安装一个 web 服务器和其他 PHP 依赖项
$ sudo dnf install -y nginx php php-cli
启动 nginx,并创建一个测试页面来验证是否为 PHP 启用了 Memcached
$ sudo systemctl enable nginx.service –now
$ sudo systemctl restart memcached.service
$ sudo vi /usr/share/nginx/html/info.php
将以下内容粘贴到文件中并保存更改
<?php
phpinfo();
?>
然后,打开浏览器,浏览地址:http://server-ip/info.php
向下滚动,寻找关于 Memcached 的部分。
Memcached 与 python 集成
对于 Python 应用程序,确保您安装了 pymemcache 和 python-memcached 库
$ pip3 install pymemcache --user
$ pip3 install python-memcached --user
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。