centos中安裝安裝Memcached完整樣本

來源:互聯網
上載者:User

Memcached 是一個高效能的分布式記憶體對象緩衝系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和對象來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。Memcached基於一個儲存鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是用戶端可以用任何語言來編寫,並通過memcached協議與守護進程通訊。
Memcache是一個高效能的分布式的記憶體對象緩衝系統,通過在記憶體裡維護一個統一的巨大的hash表,它能夠用來儲存各種格式的資料.簡單的說就是將資料調用到記憶體中,然後從記憶體中讀取,從而大大提高讀取速度。
工作原理:
①用戶端第一次訪問應用程式時,會到資料庫(RDBMS)中取出資料,返回給用戶端;同時也將取出的資料儲存到memcached中。
② 第二次訪問時,因為資料已經緩衝,不不用去資料庫查詢了,直接從memcached取。

那麼memcached的快速和高效率是如何體現出來的呢。我們都清楚,RDBMS是檔案型的資料庫,最終還是以檔案的形式儲存在磁碟上。而memcached則不一樣,它是key:value關係型的資料庫,是儲存在記憶體中的。那麼就不用我再做說明了,記憶體的讀寫速度要比磁碟的讀寫速度快得多,前者是後者的10的6次方倍。http://blog.rekfan.com/?p=172

下面進入正題:

首先,memcached是基於libevent的,所以確保你的系統已經裝了libevent,libevent是個程式庫,它將Linux的epoll、BSD類作業系統的kqueue等事件處理功能封裝成統一的介面。即使對伺服器的串連數增加,也能發揮O(1)的效能。 memcached使用這個libevent庫,因此能在Linux、BSD、Solaris等作業系統上發揮其高效能。
由於memcached和libevent是由C編寫的,所以首先確保你的系統安裝了gcc,如果
沒有安裝,使用yum安裝即可
命令: 
yum -y install gcc
yum -y install gcc

然後下載Libevent

然後上傳centos到/usr/local,進行給予許可權,然後解壓
# tar xzvf libevent-2.0.21-stable.tar.gz ##解壓
# cd libevent-2.0.21-stable
# ./configure --prefix=/usr
# make
# make install

然後下載 memcache 上傳
# tar xzvf memcached-1.4.15.tar.gz
# cd memcached-1.4.15
# ./configure --with-libevent=/usr
# make
# make install


關於memcache啟動的一些參數說明:
memcached命令參數解釋:
-p <num>          監聽的連接埠
-l <ip_addr>      串連的IP地址, 預設是本機
-d start          啟動memcached 服務
-d restart        重起memcached 服務
-d stop|shutdown  關閉正在啟動並執行memcached 服務
-d install        安裝memcached 服務
-d uninstall      卸載memcached 服務
-u <username>     以<username>的身份運行 (僅在以root啟動並執行時候有效)
-m <num>          最大記憶體使用量,單位MB。預設64MB
-M                記憶體耗盡時返回錯誤,而不是刪除項
-c <num>          最大同時串連數,預設是1024
-f <factor>       塊大小增長因子,預設是1.25
-n <bytes>        最小分配空間,key+value+flags預設是48
-h                顯示協助
然後執行命令啟動memcached
#/usr/local/bin/memcached -d -m 1024 -u root -p 11211 -P /tmp/memcached.pid
然後就可以使用telnet,來測試memcache的串連狀態,
如果沒有安裝telnet服務,可以執行
yum install telnet-server
安裝服務
yum install telnet
安裝命令
然後編輯vi /etc/xinetd.d/telnet 檔案,啟用telnet,預設是禁用的,截圖如下:


然後重啟服務,執行命令 service xinetd restart
然後就可以測試memcached的串連,執行命令
telnet 127.0.0.1 11211
輸入stats,會輸出memcache的一些串連資訊,包括PID
如果需要退出,則執行quit命令即可,截圖如下:


退出telnet,執行quit命令即可,上圖所示的memcached進程ID,很重要,如果我們需要關閉memcached服務時,就可以執行命令,kill -9 進程號 即可。


在使用java代碼測試前先禁用防火牆 service iptables stop


package com.able.java;import java.net.InetSocketAddress;import net.spy.memcached.MemcachedClient;import org.junit.Test;public class MemcacheTest {@Testpublic void test() throws Exception{MemcachedClient memcachedClient=new MemcachedClient(new InetSocketAddress("192.168.40.234",11211));memcachedClient.set("test", 60,"宇智波鼬" );Object object=memcachedClient.get("test");System.out.println(object.toString());}}
2015-03-16 17:00:14.153 INFO net.spy.memcached.MemcachedConnection:  Added {QA sa=/192.168.40.234:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
2015-03-16 17:00:14.153 INFO net.spy.memcached.MemcachedConnection:  Connection state changed for sun.nio.ch.SelectionKeyImpl@5fdba6f9
宇智波鼬










相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.