1

我正在构建一个缓存系统,我希望它能够为分布式缓存(la memcached)做好准备。我要做的是转换(字符串->对象)的传统哈希表/字典,并允许缓存本身处理每个项目的到期,就像 System.Web.Caching.Cache 可以做。

我知道 memcache 需要您对缓存的想法进行一些更改,特别是在管理过期方面,但我还没有太多经验。有谁知道在分布式缓存周围带有缓存包装器的文章/站点/等?我想尝试了解如何控制缓存大小,根据使用量对缓存中的项目进行优先级排序等。

谢谢!史蒂夫

PS - 我对 Velocity 的了解还不够多,无法知道是否适用相同的哈希键模型,如果您对 Velocity 有很多了解,我也会很感激任何帮助!

4

3 回答 3

2

最重要的是确保您的应用程序易于移植,遵循正常的 DI/IOC(依赖注入/控制反转)原则。所以依赖缓存的代码不应该

  • 获取对缓存本身的引用
  • 引用 Dictionary<,> 对象

相反,请确保代码

  • 通过接口调用缓存,例如IDictionary<,>
  • 获取对注入缓存的引用

如果您使用的是 DI 框架,那么当您迁移到 memcached 时,您只需更改 DI 配置代码,所有需要缓存的组件现在都可以使用 memcached。

如果您发现某个特定的 memcached .NET 组件不能正常工作,您可以轻松更改它。

于 2009-08-22T12:02:36.497 回答
1

您可以查看 .Net 的开源 Memcached 包装器之一。这可能会有所帮助。这是我在生产中运行了一段时间的 Sourceforge 的一个。

内存缓存.net

于 2008-11-18T21:51:32.170 回答
0

这可能会有所帮助 Memcached Providers

于 2008-12-31T22:32:57.757 回答