For the complete documentation index, see llms.txt. This page is also available as Markdown.

memcached

概述

memcached 是高性能内存键值存储,主要用于缓存数据,以减轻动态 Web 应用中数据库的负载与延迟。它提供简单的 TCP 协议来设置和获取短期有效的值,常被 Django、Rails、PHP 等框架使用。

memcached 可通过 OpenBSD 的软件包系统安装,并通过 rcctl(8) 管理服务。

与 Redis 不同,memcached 不支持持久化,仅支持非常简单的键值操作。

安装

通过软件包系统安装 memcached:

# pkg_add memcached

此命令会安装:

  • /usr/local/bin/memcached——守护进程

  • /etc/rc.d/memcached——rcctl 控制脚本

配置

memcached 通常通过命令行选项配置。这些选项可通过编辑 rcctl flags 持久化设置:

# rcctl set memcached flags "-m 64 -l 127.0.0.1 -p 11211"

常用选项:

  • -m 64——分配 64 MB 内存

  • -l 127.0.0.1——仅绑定到 localhost

  • -p 11211——默认 TCP 端口

应用更改:

测试基本用法

使用 telnet(1) 客户端测试 memcached:

  • set <key> <flags> <ttl> <bytes>

  • get <key>

键在指定的 TTL(秒)后过期。

退出:

配合客户端使用

memcached 受多种编程语言支持。示例:

  • PHP:memcachedmemcache 扩展

  • Python:python3-memcachedpymemcache

  • Ruby:dalli gem

Python 使用示例:

安全注意事项

memcached 不支持认证与 TLS,只能在受信任的网络中运行。

默认应绑定到 127.0.0.1。若必须远程访问:

  1. 调整 flags:

  1. pf(4) 限制访问:

  1. 重新加载 pf 并重启 memcached:

切勿将 memcached 暴露到公共互联网。

服务管理

启动并设置开机自启:

停止或重启:

查看状态:

日志

memcached 将日志记录到 syslog。查看日志:

要提高详细程度,可在 flags 中添加 -v-vv

最后更新于