Asp.net 为ravendb中的文档创建自定义cachedependency

Asp.net 为ravendb中的文档创建自定义cachedependency,asp.net,caching,ravendb,cache-dependency,Asp.net,Caching,Ravendb,Cache Dependency,我正在尝试创建缓存依赖项,以使使用ASP.NET缓存的某些文档过期。我想到了这个: public class DocumentCacheDependency : CacheDependency { private readonly IDisposable _Subscription; public DocumentCacheDependency(IDocumentStore store, string docId) { _Subscription = s

我正在尝试创建缓存依赖项,以使使用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是否在为我优化任何现成的东西,或者客户端是否会以这种方式实际与db建立数百个连接。

您最好不要这样做。
RavenDB已经开始为您进行缓存,而不会给您带来任何费用。

如果我错了,请纠正我的错误,但是Raven客户端查询服务器时是否只会收到一个“未修改”的回执(除非启用了主动缓存)?我可以看出定制缓存依赖性方法对于某些性能非常关键的领域是多么理想,对吗?