您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux系统中如何安装使用memcached
## 一、Memcached简介
Memcached是一个高性能的分布式内存对象缓存系统,通过将数据存储在内存中减少数据库负载,显著提升动态Web应用的响应速度。主要特点包括:
- 基于键值对的存储结构
- 纯内存操作,响应速度极快(毫秒级)
- 支持分布式横向扩展
- 使用LRU(最近最少使用)算法自动淘汰数据
- 协议简单,支持多种编程语言客户端
典型应用场景:
- 数据库查询结果缓存
- 会话(Session)存储
- API响应缓存
- 频繁读取的临时数据存储
## 二、安装Memcached
### 1. 通过包管理器安装(推荐)
#### Ubuntu/Debian系统
```bash
sudo apt update
sudo apt install -y memcached libmemcached-tools
sudo yum install -y memcached libmemcached
memcached -V
# 应显示版本信息,如:memcached 1.6.9
wget https://memcached.org/latest
tar -zxvf memcached-*.tar.gz
cd memcached-*
./configure --prefix=/usr/local/memcached
make && sudo make install
编辑配置文件(位置因系统而异):
# Ubuntu/Debian
sudo nano /etc/memcached.conf
# CentOS/RHEL
sudo nano /etc/sysconfig/memcached
关键配置参数示例:
# 监听IP(0.0.0.0表示所有接口)
-l 0.0.0.0
# 运行端口(默认11211)
-p 11211
# 最大内存(MB)
-m 64
# 最大连接数
-c 1024
# 后台运行
-d
# 启动服务
sudo systemctl start memcached
# 设置开机自启
sudo systemctl enable memcached
# 查看状态
sudo systemctl status memcached
# 重启服务
sudo systemctl restart memcached
使用telnet
或nc
工具连接:
telnet localhost 11211
# 或
nc localhost 11211
常用命令示例:
# 存储数据
set mykey 0 3600 5
hello
STORED
# 获取数据
get mykey
VALUE mykey 0 5
hello
END
# 删除数据
delete mykey
DELETED
# 查看统计信息
stats
# 写入数据
echo "world" | memccp --servers=localhost mykey
# 读取数据
memcat --servers=localhost mykey
# 清空所有缓存
memcflush --servers=localhost
安装Python客户端:
pip install python-memcached
示例代码:
import memcache
# 连接服务器
mc = memcache.Client(['localhost:11211'])
# 设置缓存(有效期60秒)
mc.set("user:1001", "{'name':'John','age':30}", time=60)
# 获取数据
print(mc.get("user:1001"))
# 删除键
mc.delete("user:1001")
安装PHP扩展:
sudo apt install php-memcached # Ubuntu
sudo yum install php-pecl-memcached # CentOS
示例代码:
<?php
$mem = new Memcached();
$mem->addServer("localhost", 11211);
$mem->set("welcome", "Hello Memcached!", 300);
echo $mem->get("welcome");
$mem->delete("welcome");
?>
-m
参数,建议保留20%内存余量get_multi
等批量操作减少网络往返# 限制监听IP(仅本机)
-l 127.0.0.1
# 使用SASL认证(需编译时启用)
-S -vv
# 防火墙规则(仅允许特定IP)
sudo ufw allow from 192.168.1.0/24 to any port 11211
无法连接服务
systemctl status memcached
netstat -tulnp | grep 11211
内存使用过高
-m
参数限制内存数据丢失
Memcached vs Redis
集群方案
通过本文介绍,您应该已经掌握Memcached的安装配置和基础使用方法。建议在实际生产环境中配合监控工具(如memcached-tool
)持续观察缓存命中率和内存使用情况。
“`
注:本文实际约1150字,可根据需要增减内容。建议在正式使用时: 1. 添加版本兼容性说明 2. 补充具体业务场景案例 3. 增加可视化监控部分内容(如Grafana仪表板配置)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。