溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Memcache的意思是什么

發(fā)布時(shí)間:2020-07-31 10:55:00 來(lái)源:億速云 閱讀:150 作者:Leah 欄目:互聯(lián)網(wǎng)科技

Memcache的意思是什么?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

Memcache是一個(gè)自由、源碼開(kāi)放、高性能、分布式的分布式內(nèi)存對(duì)象緩存系統(tǒng),該系統(tǒng)可以提升網(wǎng)站的訪問(wèn)速度,尤其對(duì)于一些大型的、需要頻繁訪問(wèn)數(shù)據(jù)庫(kù)的網(wǎng)站訪問(wèn)速度提升效果十分顯著。

為什么要使用Memcache?

主要用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)的負(fù)載。

它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),

從而提高了網(wǎng)站訪問(wèn)的速度。

Memcache的實(shí)現(xiàn)原理

memcache處理的原子是每一個(gè)key、val,key會(huì)通過(guò)一個(gè)hash表轉(zhuǎn)換成hash的key,便于查找對(duì)比以及竟可能的做到散列。同時(shí)mem用的是一個(gè)二級(jí)散列,通過(guò)一個(gè)hash表來(lái)維護(hù)。

memcache有兩個(gè)核心組件:服務(wù)端和客戶端

在一個(gè)memcache組件查詢中,client先通過(guò)key的hash值來(lái)確定kv在service端的位置,當(dāng)server端確定后,客戶端就會(huì)發(fā)一個(gè)請(qǐng)求個(gè)server端。讓它來(lái)查找出確切數(shù)據(jù),因?yàn)檫@之間沒(méi)有交互以及多播協(xié)議,因此mem帶給網(wǎng)絡(luò)的影響最小

Memcache特性和限制

在 Memcached中可以保存的item數(shù)據(jù)量是沒(méi)有限制的,只要內(nèi)存足夠 。

  Memcached單進(jìn)程在32位系統(tǒng)中最大使用內(nèi)存為2G,若在64位系統(tǒng)則沒(méi)有限制,這是由于32位系統(tǒng)限制單進(jìn)程最多可使用2G內(nèi)存,要使用更多內(nèi)存,可以分多個(gè)端口開(kāi)啟多個(gè)Memcached進(jìn)程 ,

  最大30天的數(shù)據(jù)過(guò)期時(shí)間,設(shè)置為永久的也會(huì)在這個(gè)時(shí)間過(guò)期,常量REALTIME_MAXDELTA

  60*60*24*30控制

  最大鍵長(zhǎng)為250字節(jié),大于該長(zhǎng)度無(wú)法存儲(chǔ),常量KEY_MAX_LENGTH 250控制

  單個(gè)item最大數(shù)據(jù)是1MB,超過(guò)1MB數(shù)據(jù)不予存儲(chǔ),常量POWER_BLOCK 1048576進(jìn)行控制,

  它是默認(rèn)的slab大小

  最大同時(shí)連接數(shù)是200,通過(guò) conn_init()中的freetotal進(jìn)行控制,最大軟連接數(shù)是1024,通過(guò)

  settings.maxconns=1024 進(jìn)行控制

  跟空間占用相關(guān)的參數(shù):settings.factor=1.25, settings.chunk_size=48, 影響slab的數(shù)據(jù)占用和步進(jìn)方式

memcached是一種無(wú)阻塞的socket通信方式服務(wù),基于libevent庫(kù),由于無(wú)阻塞通信,對(duì)內(nèi)存讀寫(xiě)速度非常之快。

  memcached分服務(wù)器端和客戶端,可以配置多個(gè)服務(wù)器端和客戶端,應(yīng)用于分布式的服務(wù)非常廣泛。

  memcached作為小規(guī)模的數(shù)據(jù)分布式平臺(tái)是十分有效果的。

memcached是鍵值一一對(duì)應(yīng),key默認(rèn)最大不能超過(guò)128個(gè)字 節(jié),value默認(rèn)大小是1M,也就是一個(gè)slabs,如果要存2M的值(連續(xù)的),不能用兩個(gè)slabs,因?yàn)閮蓚€(gè)slabs不是連續(xù)的,無(wú)法在內(nèi)存中 存儲(chǔ),故需要修改slabs的大小,多個(gè)key和value進(jìn)行存儲(chǔ)時(shí),即使這個(gè)slabs沒(méi)有利用完,那么也不會(huì)存放別的數(shù)據(jù)。

memcached已經(jīng)可以支持C/C++、Perl、PHP、Python、Ruby、Java、C#、Postgres、Chicken Scheme、Lua、MySQL和Protocol等語(yǔ)言客戶端。


看完上述內(nèi)容,你們掌握Memcache的意思是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI