Memcached 1.5.12 移植指南
介紹
簡要介紹
Memcached是LiveJournal旗下Danga Interactive公司以Brad Fitzpatric為首開發的一款高性能分布式記憶體對象緩存系統,通過緩存資料庫查詢結果,減少資料庫通路次數,來提高動态Web應用的通路速度、提高可擴充性。
Memcached的官方連結:
https://memcached.org/
開發語言:C
一句話描述:分布式記憶體對象緩存系統
環境要求
硬體要求
硬體要求如下表所示。
項目 | 說明 |
伺服器 | TaiShan 200伺服器(型号2280) |
CPU | 鲲鵬920 5250處理器 |
磁盤分區 | 對磁盤分區無要求 |
作業系統要求
作業系統要求如下表所示。
項目 | 版本 |
openEuler | 20.03 LTS SP1 aarch64 |
Kernel | 4.19 |
查詢目前系統版本資訊
cat /etc/os-release
安裝openEuler作業系統,請參考https://openeuler.org/zh/docs/20.03_LTS_SP1/docs/Installation/installation.html
說明: 安裝方式建議選擇“Server with GUI”安裝方式。
配置編譯環境
編譯Memcached需要準備C編譯器、GNU、make、automake、libevent和libevent-devel。
安裝gcc,已安裝則跳過
yum -y install gcc gcc-c++ kernel-devel
安裝GNU make和automake、unzip、telnet,已安裝則跳過
yum -y install make automake unzip telnet
安裝libevent和libevent-devel
yum -y install libevent libevent-devel
擷取源碼
若您的伺服器可以通路網絡,執行 wget https://github.com/memcached/memcached/archive/1.5.12.zip 指令下載下傳源碼。否則,請通路 https://github.com/memcached/memcached/archive/1.5.12.zip 下載下傳源碼并複制到伺服器“/home”目錄。
編譯和安裝
以本地下載下傳源碼并上傳到伺服器為例說明編譯和安裝操作
解壓源碼包
cd /home
unzip 1.5.12.zip
進入“memcached-1.5.12”目錄
cd memcached-1.5.12
配置Memcached
sh autogen.sh
./configure --prefix=/opt/memcached
可在該步驟指定Memcached安裝目錄,例如本文指定安裝在“/opt/memcached”目錄下。
執行編譯
make -j60
-j60參數充分利用多核CPU優勢,加快編譯速度。
執行安裝
make install
進入指定的Memcached安裝目錄“/opt/memcached”,若生成的“bin”目錄中出現“memcached”可執行檔案,說明編譯安裝完成
配置環境變量
a. 将以下指令添加至“/etc/profile”檔案中
export PATH=/opt/memcached/bin/:$PATH
b. 使環境變量生效
source /etc/profile
運作和驗證
- 使用指令啟動
- memcached -t 24 -p 11211 -u root -m 49152 -c 10240
- 啟動指令參數說明如下表所示。
指令參數 | 說明 | 預設值 |
-t | 線程數。 | 4 |
-p | 監測的TCP端口。 | 11211 |
-u | 指定使用者啟動。 | 預設不能用root使用者啟動程序 |
-m | 配置設定給Memcached的記憶體大小。機關:MB。 | 64M |
-c | 最大并發連接配接數。 | 1024 |
-d | 背景啟動一個守護程序。 | - |
- 另外啟動一個Shell視窗,連接配接到Memcached
- telnet 127.0.0.1 11211
- 建立連接配接之後,可使用stats指令擷取到Memcached服務端的統計資訊
- stats
常用的stats指令如下表所示。
指令 | 功能 |
stats | 顯示Memcached總體狀态資訊,包括啟動時間、存儲資料量、緩存命中率、目前連接配接數等。 |
stats items | 輸出各個slab中item的資訊。 |
stats slabs | 輸出更詳細的slab資訊。 |
stats sizes | 顯示所有item的大小和個數。 |
stats cachedump | 導出下的資料,是輸出個數,若傳入0則輸出該slab下所有資料。 |
stats detail | 設定(on/off)或顯示(dump)詳細操作記錄,如get/set操作。 |
flush_all | 使記憶體中所有item失效,該操作并不會暫停服務端,因為不會真正釋放記憶體空間,而是将現有item标記為失效狀态。 |
說明: 如需退出Telnet連接配接可執行quit指令。
quit
除Telnet連接配接Memcached服務擷取資料資訊以外,源碼中還提供了一些工具腳本,可以直接使用,如memcached-tool,位于源碼中的scripts目錄下。
memcached-tool的使用方法如下表所示。
指令 | 功能 |
./memcached-tool localhost display | 顯示slabs資訊 |
./memcached-tool 10.0.0.5:11211 display | 顯示slabs資訊 |
./memcached-tool 10.0.0.5:11211 stats | 顯示Memcached統計資訊 |
./memcached-tool 10.0.0.5:11211 settings | 顯示Memcached設定資訊 |
./memcached-tool 10.0.0.5:11211 sizes | 顯示items的大小和個數 |
./memcached-tool 10.0.0.5:11211 dump [limit] | 導出緩存中的Keys和Values |