《基于Memcache的分布式緩存系統詳解》要點:
本文介紹了基于Memcache的分布式緩存系統詳解,希望對您有用。如果有疑問,可以聯系我們。
相關主題:memcache擴展 / 鍵值KeyValue存儲數據庫
文章不是簡單的的Ctrl C與V,而是一個字一個標點符號慢慢寫出來的.我認為這才是是對讀者的負責,本教程由技術喜好者成笑笑(博客:http://www.chengxiaoxiao.com/)寫作完成.如有轉載,請聲明出處.
主要內容
Memcache原理及介紹
Memcache安裝及使用
C#的Memcache Demo
Memcache介紹
假如現在我們的服務器從一臺增加到三臺.首先需要辦理的問題就是如何共享用戶的登錄的狀態.需要辦理如上問題我們通常會有如下幾個方案:
1.進程外Session
2.把用戶狀態存入數據庫
3.利用Memcache、NoSql、Redis等緩存
通常情況下,利用第三種計劃是效率最高性能最好的.所以就讓我們一起揭開Memcache的神秘面紗.
何為Memcache?
Memcache是一項開源的的緩存服務.是解決網站拜訪量大,數據庫壓力倍增的解決方案之一主要是用內存換磁盤讀寫的一項策略.把數據庫數據存儲到緩存中.只有當緩存中數據過期時,再把數據庫中的數據讀取到緩存中,大大的減少了IO讀寫操作.而內存的讀寫是遠遠大于IO讀寫的.所以如此便提高了系統的性能.
Memcache主要通過鍵值對的形式存儲.它的讀寫的性能非常好,1s可以讀寫上萬次乃至以上.很方便的可以實現多臺服務器集群化.為了性能考慮,他只提供了存取數據的功能,沒有提供主從賦值和容災等功能.而且Memcache的代碼相對簡單.學習本錢較低.
Memcache安裝及使用
安裝:(這里以windows安裝Memcache為例)
1. 下載memcache的windows穩定版,解壓放某個盤下面,比如在c:\memcached(下載地址:鏈接:http://pan.baidu.com/s/1boPI8t5 暗碼:sgcw)
2. 在cmd命令界面下輸入 ‘c:\memcached\memcached.exe -d install’ 安裝
3. 再輸入: ‘c:\memcached\memcached.exe -d start’ 啟動.
這樣你就可以在服務界面(開始-運行-services.msc)看到一個memcached Server的一項服務則表現安裝成功.如下圖:
C#的Memcache Demo
一:下載dll:下載地址:https://sourceforge.net/projects/memcacheddotnet/
二:引用:將Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目錄引用.
代碼實例:
//這個集合配置進去節點,就可以實現散布式了.11211是他得默認端口
string[] servers = { "127.0.0.1:11211"};
//初始化池
SockIOPool pool = SockIOPool.GetInstance();
pool.SetServers(servers);
pool.InitConnections = 3;
pool.MinConnections = 3;
pool.MaxConnections = 5;
pool.SocketConnectTimeout = 1000;
pool.SocketTimeout = 3000;
pool.MaintenanceSleep = 30;
pool.Failover = true;
pool.Nagle = false;
pool.Initialize();
MemcachedClient mc = new Memcached.ClientLibrary.MemcachedClient();
mc.EnableCompression = false;
//增編削查
mc.Add("key1", "value1");
//增加數據設置過期時間
mc.Add("key1", "value1", DateTime.Now.AddDays(10));
mc.Set("key1", "222");
object value = mc.Get("key1");
mc.Delete("key1");
教程完畢!!!如有欠妥之處還請指正
微信名稱:net知識分享
介紹:主要以宣布和分享.Net和安卓文章為主,爭做全棧開發工程師,愛學習,愛挑戰,愛編程.
打造C#入門教程.總結本身已經習得的技術體系.分享到網絡.為中國的軟件復興貢獻本身的一份力.
如有不恰當之處,還請指正.
作者:成笑笑
職業:應屆卒業生,找工作中.
本人聯系方式:cxx@chengxiaoxiao.com
歡迎訂閱我的頭條號:做全棧攻城獅.每天一篇文章,一點資訊、QQ"大眾平臺和搜狐自媒體號都是:做全棧攻城獅.
維易PHP培訓學院每天發布《基于Memcache的分布式緩存系統詳解》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。