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