什么是Memcache?

Memcache集群環(huán)境下緩存解決方案
Memcache是一個高性能的分布式的內(nèi)存對象緩存系統(tǒng),通過在內(nèi)存里維護一個統(tǒng)一的巨大的hash表,它能夠用來存儲各種格式的數(shù)據(jù),包括圖像、視頻、文件以及數(shù)據(jù)庫檢索的結果等。簡單的說就是將數(shù)據(jù)調(diào)用到內(nèi)存中,然后從內(nèi)存中讀取,從而大大提高讀取速度。
Memcache是danga的一個項目,最早是LiveJournal 服務的,最初為了加速 LiveJournal 訪問速度而開發(fā)的,后來被很多大型的網(wǎng)站采用。
Memcached是以守護程序方式運行于一個或多個服務器中,隨時會接收客戶端的連接和操作
為什么會有Memcache和memcached兩種名稱?
其實Memcache是這個項目的名稱,而memcached是它服務器端的主程序文件名,知道我的意思了吧。一個是項目名稱,一個是主程序文件名,在網(wǎng)上看到了很多人不明白,于是混用了。
Memcached是高性能的,分布式的內(nèi)存對象緩存系統(tǒng),用于在動態(tài)應用中減少數(shù)據(jù)庫負載,提升訪問速度。Memcached由Danga Interactive開發(fā),用于提升LiveJournal.com訪問速度的。LJ每秒動態(tài)頁面訪問量幾千次,用戶700萬。Memcached將數(shù)據(jù)庫負載大幅度降低,更好的分配資源,更快速訪問。
這篇文章將會涉及以下內(nèi)容:
Memcache
Memcache is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of databasecalls, API calls, or page rendering.
即內(nèi)存緩存數(shù)據(jù)庫,是一個鍵值對數(shù)據(jù)庫。該數(shù)據(jù)庫的存在是為了將從其他服務中獲取的數(shù)據(jù)暫存在內(nèi)存中,在重復訪問時可以直接從命中的緩存中返回。既加快了訪問速率,也減少了其他服務的負載。這里將實現(xiàn)一個單服務器版本的Memcache,并且支持多個客戶端的同時連接。
客戶端將與服務器建立telnet連接,然后按照Memcache協(xié)議與服務器緩存進行交互。這里實現(xiàn)的指令為get,set和del。先來看一下各個指令的格式
set
set屬于存儲指令,存儲指令的特點時,第一行輸入基本信息,第二行輸入其對應的value值。
set <key> <flags> <exptime> <bytes> [noreply]\r\n
<value>\r\n
如果存儲成功,將會返回STORED,如果指令中包含noreply屬性,則服務器將不會返回信息。
該指令中每個域的內(nèi)容如下:
如果指令不符合標準,服務器將會返回ERROR。
get
get屬于獲取指令,該指令特點如下:
get <key>*\r\n
它支持傳入多個key的值,如果緩存命中了一個或者多個key,則會返回相應的數(shù)據(jù),并以END作為結尾。如果沒有命中,則返回的消息中不包含該key對應的值。格式如下:
VALUE <key> <flags> <bytes>\r\n <data block>\r\n VALUE <key> <flags> <bytes>\r\n <data block>\r\n END del
分享名稱:java實現(xiàn)memcache服務器的示例代碼-創(chuàng)新互聯(lián)
標題URL:http://chinadenli.net/article12/pdcdc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、軟件開發(fā)、全網(wǎng)營銷推廣、服務器托管、小程序開發(fā)、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)