# 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 memcachednetstat -tulnp | grep 11211內存使用過高
-m參數限制內存數據丟失
Memcached vs Redis
集群方案
通過本文介紹,您應該已經掌握Memcached的安裝配置和基礎使用方法。建議在實際生產環境中配合監控工具(如memcached-tool)持續觀察緩存命中率和內存使用情況。
“`
注:本文實際約1150字,可根據需要增減內容。建議在正式使用時: 1. 添加版本兼容性說明 2. 補充具體業務場景案例 3. 增加可視化監控部分內容(如Grafana儀表板配置)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。