一檀训,關(guān)系型數(shù)據(jù)庫(kù)的瓶頸(mysql, oracle);
1.對(duì)數(shù)據(jù)庫(kù)的高并發(fā)讀寫刻蚯;
2.對(duì)海量數(shù)據(jù)的處理互墓;
二,Memcached:是高性能的分布式內(nèi)存緩存服務(wù)器缤谎,通過(guò)緩存數(shù)據(jù)庫(kù)查詢結(jié)果抒倚,減少數(shù)據(jù)庫(kù)訪問次數(shù),以提高動(dòng)態(tài)Web應(yīng)用的速度和可擴(kuò)展性坷澡;
特點(diǎn): 協(xié)議簡(jiǎn)單托呕;基于libevent的事件處理;內(nèi)置內(nèi)存存儲(chǔ)方式频敛;采用不互相通信的分布式项郊; 服務(wù)器停止之后,存儲(chǔ)的數(shù)據(jù)丟失斟赚;使用LRU算法刪除緩存着降;
三,centos操作memcached命令拗军;
1.啟動(dòng) service memcached start | stop | status | restart | reload
進(jìn)程:netstat -antp | grep memcached ;
2.修改端口等參數(shù) vim /etc/init.d/memcached
四任洞,基本儲(chǔ)存操作:
$mc = new memcache();
$mc->connect('127.0.0.1', 11211);
$mc->set('key', 'value', 0, 10);
$val = $mc->get('key');
var_dump($val);
$mc->delete('key'); //刪除數(shù)據(jù)
$mc->flush(); //強(qiáng)制刷新全部緩存
$mc->close(); //斷開與mamcached服務(wù)器的鏈接
五,高并發(fā)的支持:
六发侵,使用Slab分配的算法保持?jǐn)?shù)據(jù): 減少生成內(nèi)存碎片交掏,提高內(nèi)存使用效率;
默認(rèn)儲(chǔ)存不大于1M的數(shù)據(jù)刃鳄,修改(POWER_BLOCK宏設(shè)置為更大數(shù))耀销;
七,Memcache 多線程模型(隊(duì)列算法)
memcache是一個(gè)多線程的緩存服務(wù)器程序:
主線程(main thread) :接收客戶端鏈接铲汪,并把連接分配給工作線程處理
工作線程(worker thread):處理客戶端的連接請(qǐng)求;
八罐柳,Memcache 分布式布置方案
8.1 普通的Hash分布
8.2 一致性的HASH分布
具體算法和做法 以后找機(jī)會(huì)探究