0

我正在尝试创建缓存依赖项以使我正在使用 ASP.NET 缓存缓存的一些文档过期。我想出了这个:

public class DocumentCacheDependency : CacheDependency
{
    private readonly IDisposable _Subscription;

    public DocumentCacheDependency(IDocumentStore store, string docId)
    {
        _Subscription = store.Changes().ForDocument(docId).Subscribe(OnDocumentChanged);
        FinishInit();
    }

    private void OnDocumentChanged(DocumentChangeNotification documentChangeNotification)
    {
        NotifyDependencyChanged(this, new EventArgs());
    }

    protected override void DependencyDispose()
    {
        _Subscription.Dispose();
        base.DependencyDispose();
    }
}

这是一个好主意性能明智还是我应该使用“ForDocumentsStartingWith”/“ForAllDocuments”。或者我应该创建一个索引。答案可能取决于被缓存的文档数量,所以我想我要问的是,当我注册数百个更改侦听器时,RavenDB 是否会为我优化任何东西,或者客户端是否会实际设置数百个连接以这种方式使用数据库。

4

1 回答 1

2

你可能最好不要这样做。RavenDB 已经准备好为您做缓存,而无需您支付任何费用。

于 2013-08-20T08:46:51.860 回答