明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

布爾教育燕108Memcached視頻資料分享

[摘要]Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提高動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。Memcache...
Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提高動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。Memcached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協(xié)議與守護(hù)進(jìn)程通信。

Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提高動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。我們收集了《布爾教育燕十八Memcached視頻教程》,希望能夠幫助大家更好的學(xué)習(xí)Memcached分布式集群。

58aa49e31d5a8605.jpg

視頻播放地址:http://www.php.cn/course/314.html

1、memcached的基本設(shè)置
1)啟動(dòng)Memcache的服務(wù)器端
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

-d選項(xiàng)是啟動(dòng)一個(gè)守護(hù)進(jìn)程,
-m是分配給Memcache使用的內(nèi)存數(shù)量,單位是MB,我這里是10MB,
-u是運(yùn)行Memcache的用戶,我這里是root,
-l是監(jiān)聽的服務(wù)器IP地址,如果有多個(gè)地址的話,我這里指定了服務(wù)器的IP地址192.168.0.200,
-p是設(shè)置Memcache監(jiān)聽的端口,我這里設(shè)置了12000,最好是1024以上的端口,
-c選項(xiàng)是最大運(yùn)行的并發(fā)連接數(shù),默認(rèn)是1024,我這里設(shè)置了256,按照你服務(wù)器的負(fù)載量來設(shè)定,
-P是設(shè)置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid,

2)如果要結(jié)束Memcache進(jìn)程,執(zhí)行:

# kill `cat /tmp/memcached.pid`

哈希算法將任意長(zhǎng)度的二進(jìn)制值映射為固定長(zhǎng)度的較小二進(jìn)制值,這個(gè)小的二進(jìn)制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該

段落的一個(gè)字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個(gè)值的兩個(gè)不同的輸入,在計(jì)算上是不可能的。

2、一致性Hash算法的目的有兩點(diǎn):一是節(jié)點(diǎn)變動(dòng)后其他節(jié)點(diǎn)受影響盡可能。欢枪(jié)點(diǎn)變動(dòng)后數(shù)據(jù)重新分配盡可能均衡 。

3、為什么要運(yùn)行 memcached ?

如果網(wǎng)站的高流量很大并且大多數(shù)的訪問會(huì)造成數(shù)據(jù)庫(kù)高負(fù)荷的狀況下,使用 memcached 能夠減輕數(shù)據(jù)庫(kù)的壓力。

4、適用memcached的業(yè)務(wù)場(chǎng)景?

1)如果網(wǎng)站包含了訪問量很大的動(dòng)態(tài)網(wǎng)頁,因而數(shù)據(jù)庫(kù)的負(fù)載將會(huì)很高。由于大部分?jǐn)?shù)據(jù)庫(kù)請(qǐng)求都是讀操作,那么memcached可以顯著地減小數(shù)據(jù)庫(kù)負(fù)載。

2)如果數(shù)據(jù)庫(kù)服務(wù)器的負(fù)載比較低但CPU使用率很高,這時(shí)可以緩存計(jì)算好的結(jié)果( computed objects )和渲染后的網(wǎng)頁模板(enderred templates)。

3)利用memcached可以緩存session數(shù)據(jù)、臨時(shí)數(shù)據(jù)以減少對(duì)他們的數(shù)據(jù)庫(kù)寫操作。

4)緩存一些很小但是被頻繁訪問的文件。

5)緩存Web 'services'(非IBM宣揚(yáng)的Web Services,譯者注)或RSS feeds的結(jié)果.。

5、不適用memcached的業(yè)務(wù)場(chǎng)景?

1)緩存對(duì)象的大小大于1MB

Memcached本身就不是為了處理龐大的多媒體(large media)和巨大的二進(jìn)制塊(streaming huge blobs)而設(shè)計(jì)的。

2)key的長(zhǎng)度大于250字符

3)虛擬主機(jī)不讓運(yùn)行memcached服務(wù)

如果應(yīng)用本身托管在低端的虛擬私有服務(wù)器上,像vmware, xen這類虛擬化技術(shù)并不適合運(yùn)行memcached。Memcached需要接管和控制大塊的內(nèi)存,如果memcached管理的內(nèi)存

被OS或 hypervisor交換出去,memcached的性能將大打折扣。

4)應(yīng)用運(yùn)行在不安全的環(huán)境中

Memcached為提供任何安全策略,僅僅通過telnet就可以訪問到memcached。如果應(yīng)用運(yùn)行在共享的系統(tǒng)上,需要著重考慮安全問題。

5)業(yè)務(wù)本身需要的是持久化數(shù)據(jù)或者說需要的應(yīng)該是database

6、能夠遍歷memcached中所有的item嗎?

不能,這個(gè)操作的速度相對(duì)緩慢且阻塞其他的操作(這里的緩慢時(shí)相比memcached其他的命令)。memcached所有非調(diào)試(non-debug)命令,例如add, set, get, fulsh等無論

memcached中存儲(chǔ)了多少數(shù)據(jù),它們的執(zhí)行都只消耗常量時(shí)間。任何遍歷所有item的命令執(zhí)行所消耗的時(shí)間,將隨著memcached中數(shù)據(jù)量的增加而增加。當(dāng)其他命令因?yàn)榈却ū闅v所

有item的命令執(zhí)行完畢)而不能得到執(zhí)行,因而阻塞將發(fā)生。

以上就是布爾教育燕十八Memcached視頻資料分享的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。