Memcached安装与配置 #

一、Linux安装 #

1.1 Ubuntu/Debian安装 #

bash
# 更新包列表
sudo apt update

# 安装Memcached
sudo apt install memcached

# 安装客户端工具
sudo apt install libmemcached-tools

# 启动服务
sudo systemctl start memcached

# 设置开机自启
sudo systemctl enable memcached

# 查看状态
sudo systemctl status memcached

1.2 CentOS/RHEL安装 #

bash
# 安装EPEL源
sudo yum install epel-release

# 安装Memcached
sudo yum install memcached

# 安装客户端工具
sudo yum install libmemcached

# 启动服务
sudo systemctl start memcached

# 设置开机自启
sudo systemctl enable memcached

# 查看状态
sudo systemctl status memcached

1.3 源码编译安装 #

bash
# 安装依赖
sudo apt install build-essential libevent-dev

# 下载源码
wget https://memcached.org/files/memcached-1.6.29.tar.gz

# 解压
tar -xzf memcached-1.6.29.tar.gz
cd memcached-1.6.29

# 配置
./configure --prefix=/usr/local/memcached

# 编译
make

# 安装
sudo make install

# 启动
/usr/local/memcached/bin/memcached -d -m 256 -u root -p 11211

二、Windows安装 #

2.1 下载安装 #

text
1. 下载Memcached Windows版本
   https://github.com/jefyt/memcached-windows/releases

2. 解压到指定目录
   C:\memcached\

3. 安装为Windows服务
   以管理员身份运行CMD:
   cd C:\memcached
   memcached.exe -d install

4. 启动服务
   memcached.exe -d start

5. 停止服务
   memcached.exe -d stop

6. 卸载服务
   memcached.exe -d uninstall

2.2 Windows配置 #

text
修改注册表配置:

1. 打开注册表编辑器
   regedit

2. 定位到
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached

3. 修改ImagePath值
   "C:\memcached\memcached.exe" -d runservice -m 512 -p 11211

4. 重启服务
   net stop memcached
   net start memcached

三、macOS安装 #

3.1 Homebrew安装 #

bash
# 安装Memcached
brew install memcached

# 启动服务
brew services start memcached

# 停止服务
brew services stop memcached

# 重启服务
brew services restart memcached

# 查看服务状态
brew services list

3.2 手动启动 #

bash
# 前台启动
memcached -p 11211 -m 64

# 后台启动
memcached -d -p 11211 -m 64

# 指定用户
memcached -d -p 11211 -m 64 -u nobody

四、配置详解 #

4.1 配置文件 #

bash
# Ubuntu/Debian配置文件位置
/etc/memcached.conf

# CentOS/RHEL配置文件位置
/etc/sysconfig/memcached

4.2 配置参数详解 #

bash
# /etc/memcached.conf

# 内存大小(MB)
-m 64

# 监听端口
-p 11211

# 监听IP地址
-l 127.0.0.1

# 运行用户
-u memcache

# 允许的最大连接数
-c 1024

# 后台运行
-d

# 日志文件
-vv >> /var/log/memcached.log 2>&1

# PID文件
-P /var/run/memcached/memcached.pid

# 禁用CAS
-C

# 最大Item大小(字节)
-I 1m

# Slab页大小(字节)
-L 48

# 线程数
-t 4

# 禁用LRU淘汰
-M

# 最大内存限制后返回错误
-M

# 启用大内存页
-L

# 禁用UDP监听
-U 0

4.3 常用配置示例 #

bash
# 开发环境配置
memcached -d -m 64 -p 11211 -u root

# 生产环境配置
memcached -d -m 2048 -p 11211 -u memcache -c 4096 -t 8 -l 192.168.1.100

# 高性能配置
memcached -d -m 4096 -p 11211 -u memcache -c 8192 -t 16 -I 2m

五、启动参数详解 #

5.1 内存相关参数 #

text
-m <num>    分配的内存大小(MB),默认64MB
-M          内存用尽时返回错误,而不是淘汰数据
-I <size>   单个Item最大大小,默认1MB
-L          尝试使用大内存页

5.2 网络相关参数 #

text
-p <num>    TCP端口,默认11211
-U <num>    UDP端口,默认11211,0表示禁用
-l <ip>     监听的IP地址,默认所有接口
-s <file>   Unix socket路径
-a <mask>   Unix socket访问掩码

5.3 连接相关参数 #

text
-c <num>    最大并发连接数,默认1024
-t <num>    工作线程数,默认4
-R <num>    每个事件的最大请求数
-C          禁用CAS
-k          锁定所有页内存

5.4 其他参数 #

text
-u <user>   运行用户
-d          以守护进程运行
-P <file>   PID文件路径
-v          详细输出
-vv         更详细的输出
-vvv        最详细的输出
-h          显示帮助
-i          显示Memcached和libevent许可证

六、验证安装 #

6.1 检查服务状态 #

bash
# 检查进程
ps aux | grep memcached

# 检查端口
netstat -tlnp | grep 11211

# 或使用ss
ss -tlnp | grep 11211

6.2 使用telnet测试 #

bash
# 连接Memcached
telnet 127.0.0.1 11211

# 测试命令
set test 0 0 5
hello
STORED

get test
VALUE test 0 5
hello
END

quit

6.3 使用memcached-tool #

bash
# 查看统计信息
memcached-tool 127.0.0.1:11211 stats

# 查看Slab信息
memcached-tool 127.0.0.1:11211 display

# 查看详细信息
memcached-tool 127.0.0.1:11211 dump

七、防火墙配置 #

7.1 Ubuntu/Debian (ufw) #

bash
# 允许本地访问
sudo ufw allow from 127.0.0.1 to any port 11211

# 允许特定IP访问
sudo ufw allow from 192.168.1.0/24 to any port 11211

# 重载防火墙
sudo ufw reload

7.2 CentOS/RHEL (firewalld) #

bash
# 允许端口
sudo firewall-cmd --permanent --add-port=11211/tcp

# 允许特定IP访问
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="11211" accept'

# 重载防火墙
sudo firewall-cmd --reload

八、安全配置 #

8.1 绑定内网IP #

bash
# 只监听内网IP
-l 192.168.1.100

# 不要监听公网IP
# -l 0.0.0.0  # 危险!

8.2 使用防火墙限制 #

bash
# 只允许特定IP访问
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 11211 -j ACCEPT
iptables -A INPUT -p tcp --dport 11211 -j DROP

8.3 使用SASL认证 #

bash
# 安装SASL支持
sudo apt install libsasl2-modules sasl2-bin

# 创建配置文件
echo "mech_list: plain" > /etc/sasl2/memcached.conf
echo "log_level: 5" >> /etc/sasl2/memcached.conf

# 创建用户
saslpasswd2 -a memcached -c user1

# 启动Memcached(启用SASL)
memcached -S -d -m 64 -p 11211

九、多实例配置 #

9.1 创建多个配置文件 #

bash
# 实例1配置
sudo cp /etc/memcached.conf /etc/memcached_server1.conf
sudo sed -i 's/11211/11211/' /etc/memcached_server1.conf

# 实例2配置
sudo cp /etc/memcached.conf /etc/memcached_server2.conf
sudo sed -i 's/11211/11212/' /etc/memcached_server2.conf

9.2 启动多个实例 #

bash
# 启动实例1
memcached -d -m 256 -p 11211 -u memcache -P /var/run/memcached1.pid

# 启动实例2
memcached -d -m 256 -p 11212 -u memcache -P /var/run/memcached2.pid

十、Systemd服务管理 #

10.1 创建服务文件 #

bash
# /etc/systemd/system/memcached.service

[Unit]
Description=Memcached Daemon
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
Restart=on-failure

[Install]
WantedBy=multi-user.target

10.2 管理服务 #

bash
# 重载systemd配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start memcached

# 停止服务
sudo systemctl stop memcached

# 重启服务
sudo systemctl restart memcached

# 查看状态
sudo systemctl status memcached

# 查看日志
sudo journalctl -u memcached

十一、常见问题 #

11.1 无法启动 #

bash
# 检查端口是否被占用
netstat -tlnp | grep 11211

# 检查用户是否存在
id memcache

# 检查配置文件语法
memcached -u memcache -p 11211 -m 64 -vv

11.2 连接被拒绝 #

bash
# 检查服务是否运行
sudo systemctl status memcached

# 检查防火墙
sudo ufw status
sudo firewall-cmd --list-all

# 检查监听地址
netstat -tlnp | grep 11211

11.3 内存不足 #

bash
# 查看内存使用
free -m

# 调整Memcached内存
# 修改配置文件中的 -m 参数

# 查看Memcached统计
echo "stats" | nc 127.0.0.1 11211

十二、总结 #

安装配置要点:

系统 安装方式 配置文件
Ubuntu/Debian apt install /etc/memcached.conf
CentOS/RHEL yum install /etc/sysconfig/memcached
macOS brew install 命令行参数
Windows 下载安装 注册表

下一步,让我们学习Memcached的基础语法!

最后更新:2026-03-27