拼吾爱程序人生

首页 » .Net编程 » Visual Studio.NET » SharpCached小规模.Net缓存源码(VS2008项目)
cobra - 2008-3-29 15:41:00
文/birdshover  出处/博客园

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)

 附件: 您所在的用户组无法下载或查看附件

 您可能对 [Visual Studio.NET] 的这些文章也感兴趣:

语言专有的类库应该放到.NET里吗?
Visual Studio Extensions for SharePoint已发布
MOSS中创建自定义内容类型
NCache:最新发布的.NET平台分布式缓存系统
SCSF 系列:Smart Client Software Factory 启动过程详解
SCSF 系列:Smart Client Software Factory 与 ObjectBuilder
利用ZedGraph制作饼图
VSTS 离线源码版本辅助工具
在没有安装.NET Framework框架的windows系统上部署.NET程序
SCSF系列:Smart Client Software Factory实现StopLight
SCSF 系列:Smart Client Software Factory 中的 MVP 模式概述
SCSF 系列:Smart Client Software Factory 简介、安装及通过模板新建项目
1
查看完整版本: SharpCached小规模.Net缓存源码(VS2008项目)
Modify by pin5i DZNT_ExpandPackage 2.1.3295 2007-2009 pin5i.com
 Total Unique Visitors: