溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統中如何安裝使用memcached

發布時間:2022-01-31 19:59:19 來源:億速云 閱讀:551 作者:小新 欄目:開發技術
# 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. 性能調優建議

  • 內存分配:根據可用物理內存設置-m參數,建議保留20%內存余量
  • 連接池:客戶端使用連接池減少連接開銷
  • 批量操作:使用get_multi等批量操作減少網絡往返
  • 過期策略:合理設置過期時間避免內存浪費

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儀表板配置)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女