分布式緩存系統(tǒng)memcahce入門教程
這篇開始決定把系列文章的名字改掉,想了個好名字,反正不是玩單機版的就行了。好了,這篇我們看看一種非持久化的緩存服務器memcache,說到緩存本能反映就是cache,session什么的,是的,可以說這些都是基于.net進程的,通俗點也就做不了多機器的共享,典型的一個就是SSO。
專題推薦:回味那些經(jīng)典的分布式文件系統(tǒng)
一: 安裝
memcahce像redis,mongodb一樣都需要開啟他們自己的服務端,我們下載Memcached_1.2.5.zip,然后放到C盤,修改文件
名為memcached。
1:install
install可以說是萬能通用命令,首先我們轉(zhuǎn)到memcached目錄,然后memcached.exe -d install 即可。
2:start
現(xiàn)在我們只要啟動start即可,要注意的就是memecache默認的端口是11211,當然我也不想重新指定端口了。
3:stop,uninstall
這兩個就不截圖了,一個是停止,一個是卸載,反正都是萬能通用命令。
二:驅(qū)動程序
memcache的服務器我們就已經(jīng)開啟好了,由于在公司最近一直都在用php,算了還是用C#驅(qū)動吧,誰讓這是.net
社區(qū)呢,下載C#驅(qū)動,既然是緩存服務器,只要有基本的CURD,我想應該就差不多了。
- 1 using System;
- 2 using System.Collections.Generic;
- 4 namespace BeIT.MemCached
- 5 {
- 6 class Example
- 7 {
- 8 public static void Main(string[] args)
- 9 {
- 10 //通過配置文件初始化memcache實例
- 11 MemcachedClient cache = MemcachedClient.GetInstance("MyConfigFileCache");
- 13 //編輯(可以模擬session操作,緩存20分鐘)
- 14 cache.Set("name", "一線碼農(nóng)", DateTime.Now.AddMinutes(20));
- 16 //獲取
- 17 var result = cache.Get("name");
- 19 Console.WriteLine("獲取name的緩存數(shù)據(jù)為: " + result);
- 21 //刪除
- 22 cache.Delete("name");
- 24 Console.WriteLine("\n成功刪除cache中name的數(shù)據(jù)");
- 26 result = cache.Get("name");
- 28 Console.WriteLine("\n再次獲取cache中name的數(shù)據(jù)為:" + (result ?? "null") + "\n");
- 30 //查看下memecahce的運行情況
- 31 foreach (KeyValuePair<string, Dictionary<string, string>> host in cache.Status())
- 32 {
- 33 Console.Out.WriteLine("Host: " + host.Key);
- 34 foreach (KeyValuePair<string, string> item in host.Value)
- 35 {
- 36 Console.Out.WriteLine("\t" + item.Key + ": " + item.Value);
- 37 }
- 38 Console.Out.WriteLine();
- 39 }
- 41 Console.Read();
- 42 }
- 43 }
- 44 }
我們再定義下配置文件,既然memcache可以用于分布式,那就避免不了將cache分攤到幾臺服務器上去,可以看到,下面的
配置也是非常簡單的,當然分配的法則自然是memcache自身的算法決定的,最后別忘了在另一臺服務器上開放一個端口就它
就行了。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="beitmemcached" type="System.Configuration.NameValueSectionHandler" /> </configSections> <appSettings> </appSettings> <beitmemcached> <add key="MyConfigFileCache" value="127.0.0.1:11211" /> <!--<add key="MyConfigFileCache" value="127.0.0.1:11211,127.0.0.1:8888" />--> </beitmemcached> </configuration>
下面是打包程序:BeITMemcached,也可以到codegoogle去下載。
【編輯推薦】
- 部署分布式文件系統(tǒng)需要注意什么?
- 分布式文件系統(tǒng)DFS詳細解讀
- 如何區(qū)分分布式/集群/并行文件系統(tǒng)?
- FastDFS分布式文件系統(tǒng)的安裝及配置
- 開源分布式文件系統(tǒng)FastDFS和MogileFS對比
- 淺談淘寶技術(shù)發(fā)展:分布式時代——服務化
【責任編輯:黃丹 TEL:(010)68476606】