直写缓存

时间:2010-03-24 05:57:32

标签: .net caching write-through

我正在尝试执行直写缓存的C#实现,以最大限度地减少对db的读取命中率,我需要您的建议,文章或示例代码才能完成此任务。

最初,这只能在一台服务器上使用,但会更新为在集群环境中工作。

我只能在Oracle网站上获得一篇值得阅读的文章。

请分享您的观点

此致 Mubashar

1 个答案:

答案 0 :(得分:2)

最简单的方法是将缓存放在比数据库连接级别更高的级别。如果你有一个数据访问层,可以将你从SQL的细节中解脱出来,那通常是一个好地方。如果你有一个请求数据对象的地方,那就更好了;您的缓存密钥可以是这些对象的标识。

您最终可能需要的是一个缓存代理,它封装您的缓存逻辑,阻止读取但将写入传递到底层服务(对象持久层或数据访问层)。您可以使用WeakReference导致未使用的对象从缓存集合中过期,在这种情况下,您只需要进行一些清理即可。另一方面,您可以编写自己的到期逻辑,在这种情况下,您必须进行更多清理,但会保留更多控制权。

如果没有更具体的细节,很难给出具体答案。