温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统中如何安装Memcached

发布时间:2022-01-24 14:57:03 阅读:205 作者:清风 栏目:开发技术
Linux服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>
# Linux系统中如何安装Memcached

## 一、Memcached简介

Memcached是一个高性能的分布式内存对象缓存系统,最初由Brad Fitzpatrick为LiveJournal开发。它通过将数据缓存在内存中来减少数据库负载,从而显著提高动态Web应用程序的速度和可扩展性。

### 主要特性:
- **键值存储**:简单的键值对存储结构
- **内存缓存**:所有数据存储在内存中,访问速度快
- **分布式架构**:支持多服务器部署
- **协议简单**:使用基于文本或二进制的协议
- **无持久化**:重启后数据会丢失

## 二、安装前的准备工作

### 1. 系统要求
- Linux操作系统(本文以Ubuntu 20.04和CentOS 8为例)
- root或具有sudo权限的用户
- 至少512MB可用内存(生产环境建议更大)
- 基本的命令行操作知识

### 2. 更新系统软件包
在安装前,建议先更新系统软件包:

```bash
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

3. 安装依赖项

Memcached需要一些基础依赖库:

# Ubuntu/Debian
sudo apt install -y gcc make libevent-dev

# CentOS/RHEL
sudo yum install -y gcc make libevent-devel

三、Memcached安装方法

方法1:通过包管理器安装(推荐)

Ubuntu/Debian系统:

sudo apt install -y memcached libmemcached-tools

CentOS/RHEL系统:

sudo yum install -y memcached

安装完成后,服务会自动启动,可以通过以下命令验证:

systemctl status memcached

方法2:从源代码编译安装

适用于需要特定版本或自定义编译选项的情况。

1. 下载源代码

wget https://memcached.org/latest
tar -xvf latest
cd memcached-*

2. 配置和编译

./configure --prefix=/usr/local/memcached
make && sudo make install

3. 创建系统服务

创建systemd服务文件/etc/systemd/system/memcached.service

[Unit]
Description=Memcached
After=network.target

[Service]
User=memcache
ExecStart=/usr/local/memcached/bin/memcached -p 11211 -m 64 -c 1024
Restart=on-failure

[Install]
WantedBy=multi-user.target

4. 启动服务

sudo systemctl daemon-reload
sudo systemctl start memcached
sudo systemctl enable memcached

四、Memcached配置详解

1. 主要配置文件位置

  • Ubuntu/Debian: /etc/memcached.conf
  • CentOS/RHEL: /etc/sysconfig/memcached

2. 常用配置参数

# 监听端口(默认11211)
-p 11211

# 监听IP(0.0.0.0表示所有接口)
-l 0.0.0.0

# 分配内存大小(MB)
-m 64

# 最大并发连接数
-c 1024

# 日志级别(-vv为详细日志)
-vv

3. 安全配置建议

限制访问IP:

-l 127.0.0.1  # 只允许本地访问

启用SASL认证:

sudo apt install -y cyrus-sasl-dev  # Debian
sudo yum install -y cyrus-sasl-devel  # CentOS

# 重新编译时添加--enable-sasl选项
./configure --enable-sasl

五、Memcached基本操作

1. 服务管理命令

# 启动服务
sudo systemctl start memcached

# 停止服务
sudo systemctl stop memcached

# 重启服务
sudo systemctl restart memcached

# 查看状态
sudo systemctl status memcached

# 设置开机启动
sudo systemctl enable memcached

2. 测试连接

使用telnet测试连接:

telnet localhost 11211

连接成功后尝试基本命令:

stats  # 查看统计信息
set test 0 60 5  # 存储键值
hello
get test  # 获取值
quit  # 退出

3. 常用命令行工具

使用memcstat查看统计:

memcstat --servers=localhost

使用memccp导入数据:

memccp --servers=localhost /path/to/file

六、Memcached与PHP集成

1. 安装PHP扩展

# Ubuntu/Debian
sudo apt install -y php-memcached

# CentOS/RHEL
sudo yum install -y php-pecl-memcached

2. 验证安装

创建phpinfo.php文件:

<?php phpinfo(); ?>

访问该页面,搜索”memcached”确认扩展已加载。

3. 基本使用示例

$memcached = new Memcached();
$memcached->addServer('localhost', 11211);

// 存储数据
$memcached->set('key', 'value', 3600);

// 获取数据
echo $memcached->get('key');

七、性能优化建议

1. 内存分配

  • 根据系统可用内存合理设置-m参数
  • 生产环境建议不少于1GB

2. 连接池配置

  • 调整-c参数根据预期并发量
  • 考虑使用连接池管理工具

3. 监控与维护

  • 定期检查命中率(stats命令)
  • 监控内存使用情况
  • 设置适当的过期时间

八、常见问题解决

1. 无法连接服务

  • 检查防火墙设置
  • 确认memcached正在运行
  • 验证监听IP和端口配置

2. 内存不足

  • 增加-m参数值
  • 优化数据存储策略
  • 添加更多memcached节点

3. 高CPU使用率

  • 检查是否有大量连接
  • 分析访问模式是否合理
  • 考虑分布式部署

九、进阶配置

1. 多实例运行

可以通过不同端口运行多个实例:

memcached -p 11212 -m 64 -d
memcached -p 11213 -m 64 -d

2. 集群配置

使用客户端实现的分片算法或代理工具如twemproxy

3. 持久化方案

虽然Memcached本身不支持持久化,但可以通过: - 定期备份 - 配合数据库使用 - 使用memcachedb等变种

十、总结

本文详细介绍了在Linux系统中安装和配置Memcached的多种方法,包括: 1. 通过包管理器快速安装 2. 从源代码编译安装 3. 基本配置和安全设置 4. 与PHP的集成方法 5. 性能优化和故障排除技巧

Memcached作为高性能缓存解决方案,能显著提升Web应用性能。正确安装和配置后,可以为您的应用提供稳定的缓存服务。

附录:参考资料

  1. Memcached官方文档
  2. Memcached Wiki
  3. Linux系统管理手册

”`

这篇文章共计约2300字,涵盖了Memcached安装、配置、使用和维护的完整流程,采用Markdown格式编写,包含代码块、列表和章节结构,适合作为技术文档发布。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×