Linux系统中如何安装使用memcached

发布时间:2022-01-31 19:59:19 作者:小新
来源:亿速云 阅读:477
# Linux系统中如何安装使用memcached

## 一、Memcached简介

Memcached是一个高性能的分布式内存对象缓存系统,通过将数据存储在内存中减少数据库负载,显著提升动态Web应用的响应速度。主要特点包括:

- 基于键值对的存储结构
- 纯内存操作,响应速度极快(毫秒级)
- 支持分布式横向扩展
- 使用LRU(最近最少使用)算法自动淘汰数据
- 协议简单,支持多种编程语言客户端

典型应用场景:
- 数据库查询结果缓存
- 会话(Session)存储
- API响应缓存
- 频繁读取的临时数据存储

## 二、安装Memcached

### 1. 通过包管理器安装(推荐)

#### Ubuntu/Debian系统
```bash
sudo apt update
sudo apt install -y memcached libmemcached-tools

CentOS/RHEL系统

sudo yum install -y memcached libmemcached

验证安装

memcached -V
# 应显示版本信息,如:memcached 1.6.9

2. 源码编译安装(适合定制需求)

wget https://memcached.org/latest
tar -zxvf memcached-*.tar.gz
cd memcached-*
./configure --prefix=/usr/local/memcached
make && sudo make install

三、配置与启动服务

1. 基础配置

编辑配置文件(位置因系统而异):

# 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

2. 服务管理命令

# 启动服务
sudo systemctl start memcached

# 设置开机自启
sudo systemctl enable memcached

# 查看状态
sudo systemctl status memcached

# 重启服务
sudo systemctl restart memcached

四、基本使用操作

1. 命令行连接测试

使用telnetnc工具连接:

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

2. 使用libmemcached工具

# 写入数据
echo "world" | memccp --servers=localhost mykey

# 读取数据
memcat --servers=localhost mykey

# 清空所有缓存
memcflush --servers=localhost

五、编程语言客户端示例

1. Python连接示例

安装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")

2. PHP连接示例

安装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");
?>

六、性能优化与安全

1. 性能调优建议

2. 安全配置

# 限制监听IP(仅本机)
-l 127.0.0.1

# 使用SASL认证(需编译时启用)
-S -vv

# 防火墙规则(仅允许特定IP)
sudo ufw allow from 192.168.1.0/24 to any port 11211

七、常见问题排查

  1. 无法连接服务

    • 检查服务状态:systemctl status memcached
    • 确认端口监听:netstat -tulnp | grep 11211
    • 检查防火墙设置
  2. 内存使用过高

    • 调整-m参数限制内存
    • 检查是否有大对象存储(单个item默认限制1MB)
  3. 数据丢失

    • Memcached是内存缓存,重启服务会导致数据丢失
    • 重要数据应配合数据库持久化

八、扩展知识

  1. Memcached vs Redis

    • Memcached:更简单、多线程性能更高
    • Redis:支持持久化、更多数据结构
  2. 集群方案

    • 客户端分片(一致性哈希算法)
    • 使用中间件如Twemproxy
    • 云服务托管方案(如AWS ElastiCache)

通过本文介绍,您应该已经掌握Memcached的安装配置和基础使用方法。建议在实际生产环境中配合监控工具(如memcached-tool)持续观察缓存命中率和内存使用情况。 “`

注:本文实际约1150字,可根据需要增减内容。建议在正式使用时: 1. 添加版本兼容性说明 2. 补充具体业务场景案例 3. 增加可视化监控部分内容(如Grafana仪表板配置)

推荐阅读:
  1. Linux系统下安装使用tftp
  2. php安装使用memcached

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

memcached

上一篇:python网络爬虫selenium打开多窗口与切换页面的方法

下一篇:Linux系统umount命令怎么用

相关阅读

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

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