C# 自安装内存缓存-是否存在?

C# 自安装内存缓存-是否存在?,c#,caching,.net-3.5,memcached,redis,C#,Caching,.net 3.5,Memcached,Redis,我读过各种跨机器缓存机制(Redis、Velocity、nMemCached等)。它们似乎都需要一台中央机器来管理缓存 是否存在自行安装的缓存引擎—例如,如果当前子网上不存在缓存,则会创建一个节点。如果它确实存在,它会将机器加入缓存池吗 上下文:我有一个应用程序,可以通过ClickOnce部署到同一子网内的大约100个用户。这些用户中的每个人都通过广域网访问一个资源(跨越国家,在某些情况下跨越海洋),该资源执行CPU密集型计算,并且需要花费大量时间来完成 因此,该应用程序感觉迟钝。我已经做了我所

我读过各种跨机器缓存机制(Redis、Velocity、nMemCached等)。它们似乎都需要一台中央机器来管理缓存

是否存在自行安装的缓存引擎—例如,如果当前子网上不存在缓存,则会创建一个节点。如果它确实存在,它会将机器加入缓存池吗

上下文:我有一个应用程序,可以通过ClickOnce部署到同一子网内的大约100个用户。这些用户中的每个人都通过广域网访问一个资源(跨越国家,在某些情况下跨越海洋),该资源执行CPU密集型计算,并且需要花费大量时间来完成


因此,该应用程序感觉迟钝。我已经做了我所能做的,通过将长寿命的查询抛出到不同的线程来缓解这种情况。但这只会让你走这么远。我添加了本地缓存(通过SQLCompactDB),效果非常好,但是大多数用户访问类似的信息,他们一起对计算服务器施加了一些压力。我想我可以把它带到下一个级别,如果我能用我的应用程序来在内存中缓存一个可以与其他机器一起工作来创建一个网络范围的缓存机制。

< P>如果你不想要一台主机,或者你不想依赖于一个特定的网络布局/安装,你可以考虑点对点作为一个选项。WCF具有本机对等支持。这里有一个与你的需求有一定关系的链接:

如果你不想要一台主机,或者你不想依赖一个特定的网络布局/安装,你可以把对等视为一种选择。WCF具有本机对等支持。这里有一个与你的需求有点相关的链接:

你知道什么是最好的,但是拥有一个能够协调所有需求的“服务器应用程序”可能是一件好事:

  • User1询问服务器“我需要X”
  • 服务器告诉用户1“好吧,请求将其发送到数据库”
  • User2询问服务器“我需要X。”
  • 服务器告诉用户2“用户1找到了。”
  • User1告诉服务器“我不再需要X了。”

  • 您还可以使某些类型的数据由于其易失性而“不可缓存”,或者避免阻塞某个用户的连接。当然服务器会收到很多请求,但是如果您必须将其与跨网络广播解决方案进行比较的话。如果我没有正确理解你的问题,只需写一条评论,忽略这一点,我将删除答案,以免误导用户。

    你知道什么是最好的,但拥有一个协调所有问题的“服务器应用程序”可能是一件好事:

  • User1询问服务器“我需要X”
  • 服务器告诉用户1“好吧,请求将其发送到数据库”
  • User2询问服务器“我需要X。”
  • 服务器告诉用户2“用户1找到了。”
  • User1告诉服务器“我不再需要X了。”

  • 您还可以使某些类型的数据由于其易失性而“不可缓存”,或者避免阻塞某个用户的连接。当然服务器会收到很多请求,但是如果您必须将其与跨网络广播解决方案进行比较的话。如果我没有正确理解您的问题,只需写一条评论,忽略这一点,我将删除答案,以避免误导用户。

    机器是否需要相互了解?我想这就是中央计算机的作用所在。UDP广播应该可以在子网内进行。@CodeInChaos-正确,这就是我的想法。难道这些机器不需要互相了解吗?我想这就是中央计算机的作用。UDP广播应该可以在子网内进行。@CodeInChaos-正确,这就是我的想法。