下载文件:memcached 1.2.1 for Win32 binaries (Dec 23, 2006)
1 解压缩文件到c:memcached
2命令行输入 'c:memcachedmemcached.exe -d install'
3 命令行输入 'c:memcachedmemcached.exe -d start',该命令启动 Memcached ,默认监听端口为 11211
通过 memcached.exe -h 可以查看其帮助
二 .NET memcached client library
下载文件:https://sourceforge.net/projects/memcacheddotnet/
里面有.net1.1 和 .net2.0的两种版本 还有一个不错的例子。
三 应用
1 将Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目录
2 引用Memcached.ClientLibrary.dll
3 代码
1namespaceMemcached.MemcachedBench
2{
3 usingSystem;
4 usingSystem.Collections;
5
6 usingMemcached.ClientLibrary;
7
8 publicclassMemcachedBench
9 {
10 [STAThread]
11 publicstaticvoidMain(String[]args)
12 {
13 string[]serverlist={"10.0.0.131:11211","10.0.0.132:11211"};
14
15 //初始化池
16 SockIOPoolpool=SockIOPool.GetInstance();
17 pool.SetServers(serverlist);
18
19 pool.InitConnections=3;
20 pool.MinConnections=3;
21 pool.MaxConnections=5;
22
23 pool.SocketConnectTimeout=1000;
24 pool.SocketTimeout=3000;
25
26 pool.MaintenanceSleep=30;
27 pool.Failover=true;
28
29 pool.Nagle=false;
30 pool.Initialize();
31
32 //获得客户端实例
33 MemcachedClientmc=newMemcachedClient();
34 mc.EnableCompression=false;
35
36 Console.WriteLine("------------测 试-----------");
37 mc.Set("test","myvalue"); //存储数据到缓存服务器,这里将字符串"myvalue"缓存,key是"test"
38
39 if(mc.KeyExists("test")) //测试缓存存在key为test的项目
40 {
41 Console.WriteLine("testisExists");
42 Console.WriteLine(mc.Get("test").ToString()); //在缓存中获取key为test的项目
43 }
44 else
45 {
46 Console.WriteLine("testnotExists");
47 }
48
49 Console.ReadLine();
50
51 mc.Delete("test"); //移除缓存中key为test的项目
52
53 if(mc.KeyExists("test"))
54 {
55 Console.WriteLine("testisExists");
56 Console.WriteLine(mc.Get("test").ToString());
57 }
58 else
59 {
60 Console.WriteLine("testnotExists");
61 }
62 Console.ReadLine();
63
64 SockIOPool.GetInstance().Shutdown(); //关闭池,关闭sockets
65 }
66 }
67}
4 运行结果
后记: 是个不错的东西 ,使用起来也很方便,php ,ruby 的项目中用这个的很多,但是.net项目中用的较少(恕俺孤陋寡闻) 。希望有兴趣的朋友们 多多交流 。