這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān).NET分布式緩存Memcached如何從入門到實(shí)戰(zhàn),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比平武網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式平武網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋平武地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
Memcached讀取操作
2.1、什么是Memcached?
Memcached是一個(gè)自由開源的,高性能,分布式于內(nèi)存的key-value存儲(chǔ)內(nèi)存對(duì)象緩存系統(tǒng)。它通過在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動(dòng)態(tài)、數(shù)據(jù)庫驅(qū)動(dòng)網(wǎng)站的速度。Memcached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協(xié)議與守護(hù)進(jìn)程通信。
有的童鞋在學(xué)完阿笨的《.NET分布式緩存redis從入門到實(shí)戰(zhàn)》課程的時(shí)候提問怎么理解分布式。那么何為分布式?簡(jiǎn)單的從字母上意思理解就是說它不是本地的。
2.2、Memcached的優(yōu)勢(shì)和不足
優(yōu)勢(shì):
速度快,操作簡(jiǎn)便,易擴(kuò)展
不足:
1)、數(shù)據(jù)的臨時(shí)性(數(shù)據(jù)僅保存在內(nèi)存中)。
2)、只能通過指定鍵來讀取數(shù)據(jù),不支持模糊查詢。
需要注意的是,memcached使用內(nèi)存管理數(shù)據(jù),所以它是易失的,當(dāng)服務(wù)器重啟,或者memcached進(jìn)程中止,數(shù)據(jù)便會(huì)丟失,所以memcached不能用來持久保存數(shù)據(jù)。
3.1、Memcached在Windows系統(tǒng)安裝手冊(cè)
一般情況下,我們用linux作為生產(chǎn)環(huán)境,但是開發(fā)還是在windows下面,所以我們需要 windows版本。但是memcache官方網(wǎng)站只提供了源碼,因此必須使用第三方編譯的Windows版本。
1)、Windows下Memcache安裝步驟:
1、下載memcache for windows。下載地址:http://downloads.northscale.com/memcached-win64-1.4.4-14.zip,解壓到d:\memcached。
2、在命令行狀態(tài)下輸入: d:\memcached\memcached.exe -d install 。至此memcached已經(jīng)安裝成windows服務(wù)。
3、在命令行下輸入: d:\memcached\memcached.exe -d start 以啟動(dòng)memcached服務(wù)。當(dāng)然也可以選擇在windows服務(wù)中啟動(dòng)。
就是這么簡(jiǎn)單,簡(jiǎn)簡(jiǎn)單單的三步memcache的服務(wù)器端就準(zhǔn)備完畢。
2)、設(shè)置memcachedd的默認(rèn)端口和最大內(nèi)存。memcached服務(wù)默認(rèn)占用的端口是11211,占用的最大內(nèi)存默認(rèn)是64M。
如果需要修改這兩個(gè)參數(shù),比如修改端口為10000,內(nèi)存為512,
則輸入: D:\memcached\memcached.exe -p 10000 -m 512 -d start , -p 表示要修改的端口, -m表示 占用的最大內(nèi)存(單位為M)
3.2、Memcached配置說明手冊(cè)
telnet 127.0.0.1 11211 鍵入stats可以查看當(dāng)前Memcached的版本以及配置信息
memcached的基本設(shè)置:
-p 監(jiān)聽的端口
-l 連接的IP地址, 默認(rèn)是本機(jī)
-d start 啟動(dòng)memcached服務(wù)
-d restart 重起memcached服務(wù)
-d stop|shutdown 關(guān)閉正在運(yùn)行的memcached服務(wù)
-d install 安裝memcached服務(wù)
-d uninstall 卸載memcached服務(wù)
-u 以的身份運(yùn)行 (僅在以root運(yùn)行的時(shí)候有效)
-m 最大內(nèi)存使用,單位MB。默認(rèn)64MB
-M 內(nèi)存耗盡時(shí)返回錯(cuò)誤,而不是刪除項(xiàng)
-c 最大同時(shí)連接數(shù),默認(rèn)是1024
-f 塊大小增長(zhǎng)因子,默認(rèn)是1.25
-n 最小分配空間,key+value+flags默認(rèn)是48
-h 顯示幫助
3.3、 Memcached可視化客戶端GUD管理及監(jiān)控工具安裝手冊(cè)
TreeNMS是一款 Redis,Memcache可視化客戶端工具,采用JAVA開發(fā),實(shí)現(xiàn)基于WEB方式對(duì)Redis, Memcached數(shù)據(jù)庫進(jìn)行管理、維護(hù)。
TreeNMS
4.1、.NET Memcached牛刀小試
1)、NET SDK之Enyim.Caching修煉手冊(cè),看這一篇就足夠了。
Enyim.Caching修煉手冊(cè)
2)、NET SDK之MemcachedClientLibrary修煉手冊(cè),看這一篇就足夠了。(強(qiáng)烈推薦使用)
MemcachedClientLibrary修煉手冊(cè)
3)、NET SDK之ServiceStack修煉手冊(cè),看這一篇就足夠了。
ServiceStack修煉手冊(cè)
4.2、在ASP.NET中Memcached如何進(jìn)行Session托管
MemcachedSessionProvider
https://github.com/rohita/MemcachedSessionProvider
實(shí)際項(xiàng)目中強(qiáng)烈建議使用Redis作為存儲(chǔ)!
5.1、思考
1)、什么時(shí)候選擇使用Memached和Redis?
簡(jiǎn)單的Key/Value應(yīng)用場(chǎng)景(例如緩存),Memcached擁有更高的讀寫性能;而在數(shù)據(jù)持久化和數(shù)據(jù)同步場(chǎng)景,Redis擁有更加強(qiáng)大的功能和更為豐富的數(shù)據(jù)類型。2)、Memached的持久化和高可用變種產(chǎn)品
memcachedb是新浪網(wǎng)基于Memcached開發(fā)的一個(gè)開源項(xiàng)目,使Memcached具備了事務(wù)恢復(fù)能力、持久化能力。
repcached是日本人開發(fā)的基于Memcached的一個(gè)patch,實(shí)現(xiàn)Memcached的復(fù)制功能,它支持多個(gè)Memcached之間相互復(fù)制,可以解決 容災(zāi)問題。
memcacheQ在Memcached的基礎(chǔ)上實(shí)現(xiàn)了消息隊(duì)列。5.2、總結(jié):
由于數(shù)據(jù)僅存在于內(nèi)存中,因此重啟memcached、重啟操作系統(tǒng)會(huì)導(dǎo)致全部數(shù)據(jù)消失。 另外,內(nèi)容容量達(dá)到指定值之后,就基于LRU(Least Recently Used)算法自動(dòng)刪除不使用的緩存。memcached本身是為緩存而設(shè)計(jì)的服務(wù)器,因此并沒有過多考慮數(shù)據(jù)的永久性問題。NOSQL中比較優(yōu)秀的一款產(chǎn)品:Redis,比較好地解決了數(shù)據(jù)持久化的這個(gè)問題,重啟Redis不會(huì)導(dǎo)致數(shù)據(jù)丟失。
上述就是小編為大家分享的.NET分布式緩存Memcached如何從入門到實(shí)戰(zhàn)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。