【问题标题】:.Net Key based caching. Touching dependant models.Net 基于密钥的缓存。接触依赖模型
【发布时间】:2012-11-10 15:55:24
【问题描述】:

来自http://37signals.com/svn/posts/3113-how-key-based-cache-expiration-works

“您通过在更新时将模型对象绑定在一起来处理依赖结构。因此,如果您更改属于某个项目的 todolist 的 todo,您会更新链的每个部分的 updated_at 时间戳,这将自动然后根据这些对象更新缓存键。”

我正在学习基于密钥的缓存并尝试在 .Net 中实现。这是我正在努力解决的一点,更新依赖于最近更新缓存项的缓存项。

    class Parent
    {
      public int ID;
      public DateTime updated_at;
      public Child child;
    }
    class Child
    {
      public int ID;
      public DateTime updated_at;
      public string name;
    }

假设我将Child 添加到缓存中。然后使用 Child 创建 Parent 并缓存它。当我更新 Child 时,我想以与 37Signals 相同的方式破坏 Parent 的缓存。

我能看到的唯一方法是更新Parent 上的updated_at 标志,同时我在Child 上。不过我不确定,希望得到一些澄清。

非常感谢!

【问题讨论】:

    标签: .net caching basecamp


    【解决方案1】:

    您应该展示如何构建密钥。
    上面提到的文章对memcached很紧,所以当你使用这个方法时,需要实现上面提到的memcached的一些特性。

    【讨论】:

    • 它们有什么特点?是“belongs_to”和“touch”的东西吗?
    • 缓存上的垃圾收集是最明显的一个。在 .NET 中,缓存大小没有真正的限制,并且在溢出的情况下不会自动删除。
    • 我将使用带有滑动过期的 Azure 缓存来解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2019-03-29
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多