using Raven.TestDriver;
using System;
using System.Threading.Tasks;
using Xunit;
namespace RavenDB5Tests.Tests
{
public class AggresiveCacheWithLazy : RavenTestDriver
{
[Fact]
public async Task AggresiveCacheWithLazyTestAsync()
{
using var store = GetDocumentStore();
var requestExecutor = store.GetRequestExecutor();
using (var session = store.OpenSession())
{
session.Store(new Doc { Id = "doc-1" });
session.SaveChanges();
}
using (var session = store.OpenAsyncSession())
using (session.Advanced.DocumentStore.AggressivelyCacheFor(TimeSpan.FromMinutes(5)))
{
var docLazy = session.Advanced.Lazily.LoadAsync<Doc>("doc-1");
var doc = await docLazy.Value;
}
var requests = requestExecutor.NumberOfServerRequests;
using (var session = store.OpenAsyncSession())
using (session.Advanced.DocumentStore.AggressivelyCacheFor(TimeSpan.FromMinutes(5)))
{
var cachedDocLazy = session.Advanced.Lazily.LoadAsync<Doc>("doc-1");
var cachedDoc = await cachedDocLazy.Value;
}
Assert.Equal(requests, requestExecutor.NumberOfServerRequests);
}
[Fact]
public void AggresiveCacheWithLazyTest()
{
using var store = GetDocumentStore();
var requestExecutor = store.GetRequestExecutor();
using (var session = store.OpenSession())
{
session.Store(new Doc { Id = "doc-1" });
session.SaveChanges();
}
using (var session = store.OpenSession())
using (session.Advanced.DocumentStore.AggressivelyCacheFor(TimeSpan.FromMinutes(5)))
{
var docLazy = session.Advanced.Lazily.Load<Doc>("doc-1");
var doc = docLazy.Value;
}
var requests = requestExecutor.NumberOfServerRequests;
using (var session = store.OpenSession())
using (session.Advanced.DocumentStore.AggressivelyCacheFor(TimeSpan.FromMinutes(5)))
{
var cachedDocLazy = session.Advanced.Lazily.Load<Doc>("doc-1");
var cachedDoc = cachedDocLazy.Value;
}
Assert.Equal(requests, requestExecutor.NumberOfServerRequests);
}
public class Doc
{
public string Id { get; set; }
}
}
}--
You received this message because you are subscribed to the Google Groups "RavenDB - 2nd generation document database" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ravendb+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ravendb/60d5ab9f-c537-4902-b71f-279e5a8cc816o%40googlegroups.com.
![]() | Oren Eini CEO / Hibernating Rhinos LTD
|