【问题标题】:Mapping traditional caches to memcached? (but in .NET)将传统缓存映射到 memcached? (但在 .NET 中)
【发布时间】:2008-11-18 21:44:02
【问题描述】:

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

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

谢谢! 史蒂夫

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

【问题讨论】:

    标签: c# asp.net caching memcached appfabric


    【解决方案1】:

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

    • 自己获取对缓存的引用
    • 引用字典对象

    相反,请确保代码

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

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

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

    【讨论】:

      【解决方案2】:

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

      Memcached .net

      【讨论】:

        【解决方案3】:

        这可能会有所帮助 Memcached Providers

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-03-25
          • 2011-08-29
          • 2023-03-04
          • 1970-01-01
          • 2019-09-06
          • 1970-01-01
          相关资源
          最近更新 更多