本页内容

  • 环境要求
  • 在 Ubuntu 22.04 上安装 Memcached
  • 管理 Memcached 服务
  • 配置 Memcached
  • 安装 Memcached PHP 扩展
  • 添加 Python 和 Perl 的 Memcached 支持
  • 访问 Memcached 命令行
  • 总结

Memcached 是一个免费的开源内存对象缓存系统,它通过将数据缓存到内存中来加速动态 Web 应用程序。它专为基于 PHP 的 Web 应用程序(如 WordPress、Joomla、Drupal)以及基于 Python 的应用程序而设计。它可以通过将信息临时存储在内存中来提升数据库性能,从而减少直接访问数据库的请求数量。

本教程将向您展示如何在 Ubuntu 22.04 服务器上安装 Memcached。

环境要求

  • 一台运行 Ubuntu 22.04 的服务器。
  • 服务器已配置 root 密码。

在 Ubuntu 22.04 上安装 Memcached

Memcached 软件包默认已包含在 Ubuntu 22.04 的默认软件源中。您可以通过运行以下命令进行安装:

apt install memcached libmemcached-tools -y

Memcached 安装完成后,您可以使用以下命令查看 Memcached 的版本:

memcached --version

您应看到类似以下的输出:

memcached 1.6.14

管理 Memcached 服务

Memcached 服务由 systemd 管理,因此您可以很方便地使用 systemctl 命令来管理它。

要启动 Memcached 服务,请运行以下命令:

systemctl start memcached

要使 Memcached 服务在系统重启后自动启动,请运行以下命令:

systemctl enable memcached

您还可以使用以下命令查看 Memcached 服务的状态:

systemctl status memcached

您应看到类似以下的输出:

? memcached.service - memcached daemon
     Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-06-17 15:28:04 UTC; 22s ago
       Docs: man:memcached(1)
   Main PID: 17184 (memcached)
      Tasks: 10 (limit: 2292)
     Memory: 1.7M
        CPU: 64ms
     CGroup: /system.slice/memcached.service
             ??17184 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Jun 17 15:28:04 ubuntu2204 systemd[1]: Started memcached daemon.

默认情况下,Memcached 监听 11211 端口。您可以使用以下命令进行查看:

ss -antpl | grep memcache

您可以在以下输出中看到 Memcached 监听的端口:

LISTEN 0      1024       127.0.0.1:11211      0.0.0.0:*    users:(("memcached",pid=17184,fd=22))                                                                                                                                                                                                                                                                           

配置 Memcached

Memcached 的默认配置文件位于 /etc/memcached.conf,您可以根据需要编辑该文件来更改默认设置。

nano /etc/memcached.conf

根据您的需求修改以下几行:

## Specify the IP address on which Memcached listens on. 
-l 127.0.0.1

## Disable the UDP

-U 0

## Define the memory to store the cache.

-m 1000

保存并关闭文件,然后重启 Memcached 服务以使配置更改生效:

systemctl restart memcached

安装 Memcached PHP 扩展

如果您使用的是基于 PHP 的应用程序,则需要安装一些 PHP 扩展以启用 Memcached 支持。您可以通过运行以下命令一次性安装它们:

apt install apache2 php-memcached libapache2-mod-php php php-cli php-memcached php-memcached -y

所有软件包安装完成后,使用以下命令启用 PHP 的 Memcached 模块:

phpenmod memcached

接下来,重启 Apache 服务以使更改生效:

service apache2 restart

添加 Python 和 Perl 的 Memcached 支持

如果您使用的是基于 Python 的 Web 应用程序,则必须在服务器上安装 Python 的 Memcached 库。

apt install python3-pymemcache -y

如果您使用的是基于 Perl 的 Web 应用程序,则需要在服务器上安装 Perl 的 Memcached 库。

apt install libcache-memcached-libmemcached-perl -y

访问 Memcached 命令行

Memcached 提供了一个命令行接口,可以直接通过命令行与 Memcached 进行交互。

首先,运行 Telnet 命令连接到 Memcached:

telnet localhost 11211

您应该会看到如下输出:

Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

接下来,运行以下命令查看您的 Memcached 服务概览:

stats

您应该会看到如下输出:

STAT pid 17184
STAT uptime 104
STAT time 1655479786
STAT version 1.6.14
STAT libevent 2.1.12-stable
STAT pointer_size 64
STAT rusage_user 0.036669
STAT rusage_system 0.045970
STAT max_connections 1024
STAT curr_connections 1
STAT total_connections 2
STAT rejected_connections 0
STAT connection_structures 2
STAT response_obj_oom 0
STAT response_obj_count 1
STAT response_obj_bytes 16384
STAT read_buf_count 2
STAT read_buf_bytes 32768
STAT read_buf_bytes_free 0
STAT read_buf_oom 0
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0

总结

恭喜!您已成功在 Ubuntu 22.04 服务器上安装了 Memcached。现在您可以在 Web 应用程序中使用 Memcached 来提升其性能。如需了解更多实用信息,请访问 Memcached 官方文档。