代码之家  ›  专栏  ›  技术社区  ›  Nick

托管语言的缓存方案

  •  1
  • Nick  · 技术社区  · 17 年前

    这主要面向桌面应用程序开发人员。
    如何设计一个与GC配合良好的缓存块?

    如何准确测量何时进行缓存扫描?

    是否有任何预构建的缓存方案可以借鉴?

    2 回复  |  直到 10 年前
        1
  •  1
  •   akmad    17 年前

    虽然我显然不能谈论应用程序的细节,但在大多数情况下,您不应该将缓存实现与对GC如何工作的预期联系起来。正如Stu提到的,调用GC.Collect()将强制收集(针对特定的一代使用重载),但通常情况下,不这样做会导致比让GC自己管理更糟糕的性能。

    如果您确实发现(在进行了一些真正的性能测试之后)需要与GC交互,请确保考虑到框架当前具有的不同类型的GC(请参阅 here

        2
  •  1
  •   Igor Brejc    15 年前

    所有你需要知道的(还有一些):

    http://msdn.microsoft.com/en-us/library/ee817645.aspx

    还有GC.Collect()强制执行Collect。