SharpCached小规模.Net缓存源码(VS2008项目)

SharpCached是用Remoting实现的IIS外缓存服务。相当于是MemCached的C#实现,不过是个迷你版的。因为有很多功能没有实现。

毕竟MemCached是C版的,不是每个人都会改C代码。相比而言改C#代码应该更加容易 :  )

项目介绍:

SharpCached项目是Windows Service服务,需要注册为系统服务,并且需要在App.config设置端口。

SharpCached.ICarrier项目是调用的接口。

SharpCachedClient项目是调用的实现。

TestSharpCached做了一个简单的Unit测试。


原理就是在WEB端通过引入SharpCachedClient,用Remoting对SharpCached服务请求数据。而SharpCached利用静态的散列数组存储要缓存的数据。

使用实例:
   SharpCatchedAPI api = new SharpCatchedAPI();
   api.Init();

   api.Set("t", DateTime.Now);

   if (api.Exits("t"))
    Console.WriteLine(api.Get("t").ToString());
   else
    Console.WriteLine("no found");

实际应用一:

string catchkey = "ccc";
SharpCatchedAPI m = new SharpCatchedAPI();
   m.Init();
   object o = m.Get(catchkey);
   if (o != null)
    return (DataTable)o;
//构造缓存数据 DataTable dt = .............
m.Set(catchkey ,dt);

实际运用二:

string catchkey = "ccc";
SharpCatchedAPI m = new SharpCatchedAPI();
   m.Init();
   if(m.Exits(catchkey ))
    return (DataTable) m.Get(catchkey);
//构造缓存数据 DataTable dt = .............
m.Set(catchkey ,dt);


没有实现分布式处理方法,也没有实现分级缓存。因此,适用缓存规模最大应该是1G左右(.Net的内存使用极限是内存的1/4,不太记得了,反正是有极限的)。

源码只作为参考,实际运用中产生问题,和我无关哈~~!,遇到问题一起探讨倒是可以的: )

下载地址:(大小46K)
https://files.cnblogs.com/birdshover/SharpCatched.rar

posted @ 2008-06-22 20:35  冰封的心  阅读(221)  评论(0)    收藏  举报