C MemCached分布式快取

2021-07-10 12:02:00 字數 1839 閱讀 3089

using system;

using system.collections.generic;

using system.text;

using memcached.clientlibrary;

using system.diagnostics;

;//伺服器可以是多個

//初始化池

sockiopool pool = sockiopool.getinstance();

pool.setservers(serverlist);//設定連線池可用的cache伺服器列表,server的構成形式是ip:port(如:127.0.0.1:11211)

pool.initconnections = 3;//初始連線數

pool.minconnections = 3;//最小連線數

pool.maxconnections = 5;//最大連線數

pool.socketconnecttimeout = 1000;//設定連線的套接字超時

pool.sockettimeout = 3000;//設定套接字超時讀取

pool.maintenancesleep = 30;//設定維護執行緒執行的睡眠時間。如果設定為0,那麼維護執行緒將不會啟動,30就是每隔30秒醒來一次

//獲取或設定池的故障標誌。

//如果這個標誌被設定為true則socket連線失敗,將試圖從另一台伺服器返回乙個套接字如果存在的話。

//如果設定為false,則得到乙個套接字如果存在的話。否則返回null,如果它無法連線到請求的伺服器。

pool.failover = true;

pool.nagle = false;//如果為false,對所有建立的套接字關閉nagle的演算法

pool.initialize();

// 獲得客戶端例項

memcachedclient mc = new memcachedclient();

mc.enablecompression = false;

for (int i = 1; i <= 50000; i++)

"------------測 試-----------");

"test", "my value"); //儲存資料到快取伺服器,這裡將字串"my value"快取,key 是"test"

//if (mc.keyexists("test")) //測試快取存在key為test的專案

////else

//"test"); //移除快取中key為test的專案

//if (mc.keyexists("test"))

////else

//sockiopool.getinstance().shutdown(); //關閉池, 關閉sockets

// you code ....

stopwatch.stop(); // 停止監視

timespan timespan = stopwatch.elapsed; // 獲取當前例項測量得出的總時間

double hours = timespan.totalhours; // 總小時

double minutes = timespan.totalminutes; // 總分鐘

double seconds = timespan.totalseconds; // 總秒數

double milliseconds = timespan.totalmilliseconds; // 總毫秒數

console.writeline(seconds.tostring()+"用時");

console.readline();}}

}

分布式快取

分布式快取 原則來說跟應用伺服器分布式應該是一樣,但快取是有狀態的。怎麼樣提高命中?1.最原始的演算法 那就是key hash取模,取到伺服器ip。在大量伺服器伸縮行有問題,加入一台伺服器就有可能讓所有的快取都失效。如 key hash 後是100,取10膜是0,取11膜 1,101 取10膜是1,...

分布式快取

網際網路發展的同時,也引領者相關技術的發展與變革,比如集群 高併發 負載均衡 高可用 海量資料的處理 系統安全 分布式快取等各方面的相關技術。簡單談一下分布式快取技術。2 三層架構 1 web層 表現層 主要對使用者資料接收,以及資料處理完成後返回,為客戶端提 用程式的訪問 2 應用層 對業務的處理...

分布式快取

分布式快取 1 什麼是分布式快取?在高併發的環境下,大量的i o處理與cpu的處理速度顯然不在同乙個數量級,從減輕資料庫的壓力和提高系統的響應速度兩個角度來考慮,因而都會在資料庫之前加一層快取。由於單機的記憶體資源和承載能力有限,因而可以採用多台伺服器來用作快取,使得多台快取伺服器形同一台,並且不會...