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的功能和安裝步驟吧。下一篇分析一下它的內存使用方式。