NoSQL系列(1)——memcached源碼安裝使用

0. 引言

NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,泛指非關係型數據庫,因爲NoSQL不僅僅是指一種數據庫。就像關係型數據庫中有MySQL和Oracle等類型,NoSQL也有memcached、MongoDB和redis等。

NoSQL數據庫存儲原理非常簡單(典型的數據類型爲k-v),不存在繁雜的關係鏈,比如mysql查詢的時候,需要找到對應的庫、表(通常是多個表)以及字段。NoSQL數據可以存儲在內存裏,查詢速度非常快,因此NoSQL數據庫隨着近年互聯網海量數據需求的發展,也迅速佔據了市場。雖然,NoSQL在性能表現上優於關係型數據庫,但是它並不能完全替代關係型數據庫。NoSQL支持分佈式存儲,但是它的分佈式是靠客戶端算法實現,通過在內存裏維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然後從內存中讀取,從而大大提高讀取速度。在動態系統中減少數據庫負載,提升性能。

memcache模塊是一個高效的守護進程,提供用於內存緩存的過程式程序和麪向對象的方便的接口,特別是對於設計動態web程序時減少對數據庫的訪問。它的適用場合,是那些對數據訪問非常頻繁的場景。

現在打算了解一下NoSQL 技術,計劃會寫三篇文章,主要作爲入門瞭解之用。

1. 如何安裝 memcached

作爲memcached數據庫的第一篇,我們就先從環境安裝開始說起吧。安裝方法比較簡單,權當一個記錄瞭解吧。

系統環境: CentOS7

memcached 運行需要有 libevent 庫的支持,因爲memcached需要支持非阻塞的IO訪問。

1.1 源碼安裝 libevent

 cd /usr/local/src/
 wget  wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz

tar zxvf  libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent/
make && make install

1.2 源碼安裝 memcached

wget https://www.memcached.org/files/memcached-1.5.7.tar.gz
tar -zxvf memcached-1.5.7.tar.gz 
./configure --with-libevent=/usr/local/libevent --prefix=/usr/local/memcached
make && make install

netstat -lntp

2. 啓動 memcached

/usr/local/memcached/bin/memcached -d -m 100 -u root -p 11211  -c 256 -P ./memcached.pid

參數說明:

-d  選項是啓動一個守護進程。
-m  是分配給Memcache使用的內存數量,單位是MB。
-u  是運行Memcache的用戶。
-l  是監聽的服務器IP地址。
-p  是設置Memcache監聽的端口。
-c  選項是最大運行的併發連接數,默認是1024。
-P  是設置保存Memcache的pid文件,保存在 /tmp/memcached.pid。

也可以啓動多個守護進程,不過端口不能重複。

3. 驗證監聽端口

[root@cenvm72 memcached-1.5.7]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN          9593/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN          1073/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*              LISTEN         2173/master         
tcp        0      0 0.0.0.0:12000            0.0.0.0:*            LISTEN         20089/memcached     
tcp6       0      0 :::80                           :::*                    LISTEN         9593/nginx: master  
tcp6       0      0 :::22                           :::*                    LISTEN         1073/sshd           
tcp6       0      0 ::1:25                        :::*                    LISTEN          2173/master         
tcp6       0      0 :::12000                    :::*                    LISTEN          20089/memcached 

4. 總結

這篇就簡單介紹一下 memcached的功能和安裝步驟吧。下一篇分析一下它的內存使用方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章