Memcached怎么在Linux上运行 Memcached缓存服务器配置详解

夏杰同学_2786

夏杰同学_2786

2026-04-27

895人浏览

原创

直接用包管理器安装最稳,ubuntu/debian用apt、centos/rhel用dnf/yum,自动注册systemd服务;配置文件需严格遵循每行以-开头、无空格、大小写敏感;验证须用nc发文本协议指令,非仅telnet测端口。

memcached怎么在linux上运行 memcached缓存服务器配置详解

直接用包管理器启动最稳,别碰源码编译

绝大多数 Linux 服务器上,memcached 不该从源码编译——除非你明确需要 SASL 认证、特定旧版本,或发行版仓库彻底不提供。Ubuntu/Debian 执行 sudo apt install memcached libmemcached-tools,CentOS/RHEL(包括 RHEL 8+)用 sudo dnf install memcached(RHEL 7 及更早用 yum)。装完自动注册为 systemd 服务,无需手写 service 文件。

常见错误现象:Failed to start memcached.service: Unit memcached.service not found,基本就是包名打错(比如 CentOS 上输成 memcached-server),或 Ubuntu 22.04+ 镜像默认禁用了 universe 仓库,得先 sudo add-apt-repository universe && sudo apt update。

装完立刻验证:systemctl is-active memcached 必须返回 active;再跑 ss -tlnp | grep :11211 确认监听地址是 127.0.0.1:11211 或你预期的 IP。

/etc/memcached.conf 的写法很脆弱,改错一个字母就静默失败

这个配置文件不是 JSON,也不是 key=value 格式,而是纯命令行参数风格:每行必须以 - 开头,后面紧跟参数和值,中间**不能有空格**(比如 -m64 合法,-m 64 会失效);大小写敏感(-l 是监听地址,-I(大写 i)完全无效);注释用 #,但不能跟在参数行末尾(会被当值处理)。

关键参数实操建议:

  • -m 64:分配 64MB 内存,别设超物理内存 50%,否则触发 Linux OOM Killer 杀进程
  • -l 127.0.0.1,::1:逗号分隔多个地址,想让外网访问必须加 0.0.0.0,但务必同步关 UDP:-U 0,并配防火墙放行 TCP 11211
  • -c 4096:高并发场景建议调到 4096+,同时要改系统限制:echo 'memcached soft nofile 8192' >> /etc/security/limits.conf
  • 别碰 -S(SASL):没配好认证凭据时,服务卡在 Failed to initialize SASL,直接注释掉整行

连通性验证不能只靠 telnet,得发协议指令

telnet 127.0.0.1 11211 只能测端口通不通,不能证明缓存可用。真正验证要走 memcached 文本协议:

Alpine Linux
Alpine Linux

获取最新发布版本;聚合最新版本架构

下载

用 nc 127.0.0.1 11211 进入交互,输入:

set test 0 60 5
hello

如果返回 STORED,再输入 get test 能拿到 VALUE test 0 5\r\nhello\r\nEND,才算通了。注意 bytes 值(这里是 5)必须严格等于后续 value 字符数,多一个换行或少一个字符都会失败。

调试时优先用 nc,不是 telnet:前者对 \r\n 更敏感,能暴露协议格式问题;telnet 有时会自动补换行,掩盖真实错误。

性能调优里最容易被忽略的是 -f 和 -n 参数

memcached 用 slab allocator 管理内存,-f(增长因子)和 -n(最小 chunk 大小)共同决定内存碎片率。默认 -f 1.25 -n 48 适合通用场景,但如果你缓存大量小对象(如 token 字符串 -n 64 -f 1.1 能减少浪费;缓存大对象(如序列化 JSON >10KB),则需调高 -f 避免过多 slab class。

查当前 slab 分布:echo "stats slabs" | nc 127.0.0.1 11211 | grep "chunk_size\|total_chunks"。如果发现很多 slab class 的 used_chunks 接近 total_chunks 但 evicted 很高,说明 chunk 太小、频繁驱逐——这时才值得动 -f 和 -n,否则保持默认最省心。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2732

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

916

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

809

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2476

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4592

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

747

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习