Memcache是臨時性鍵值存儲NoSQL數據庫,過去被大量使用在互聯網網站中,作爲應用和數據庫之間的緩存層(現已打都被Redis取代),它是由Danga Interactive公司開發,最初爲了加速LiveJournal 訪問速度而開發,後來成爲廣泛應用的開源項目,官網: http://memcached.org/
Memcache的特點
- 全內存運轉
- 哈希方式存儲
- 簡單文本協議進行數據通信
- 叧操作字符型數據,其它類型數據由應用解釋,支持序列化以及反序列化
- 集羣也由應用進行控制,採用一致性散列(哈希)算法
Memcache的安裝和啓動
[root@lx61 ~]# yum install memcached
啓動:
[root@lx61 ~]# /etc/init.d/memcached start
Starting memcached: [ OK ]
默認的監聽端口爲11211:
[root@lx61 ~]# ps -ef|grep memcache
101 21341 1 0 13:38 ? 00:00:00 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid
Memcache充當數據庫緩存
Memcache最主要的應用場景是作爲數據庫緩存,當它作爲數據庫緩存時,應用訪問數據庫的流程如下:
1)應用訪問數據庫前,首先看看在memcache中有沒有key爲該SQL語句
2)如果有,取其value當作查詢結果,這樣可以減少對數據庫的訪問壓力
3)如果沒有,則訪問數據庫,同時把取回的結果(value)和相應的SQL語句(key)放進memcached
高可用方案 - repcached
/usr/local/bin/repcached -p 11211 –v
/usr/local/bin/repcached -p 11212 -x localhost -v –d
不要用root身份運行