You are currently browsing legacy 3.0 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

Commands: How to disable caching?

To disable caching in Commands use DisableAllCaching method.

Syntax

IDisposable DisableAllCaching();

Return Value
IDisposable Method that will re-enable caching when disposed.

Example

store.DatabaseCommands.Put("employees/1", null, new RavenJObject(), new RavenJObject());
store.DatabaseCommands.Put("employees/2", null, new RavenJObject(), new RavenJObject());

store.DatabaseCommands.Get("employees/1"); // Response: '200 OK'
Assert.Equal(0, store.JsonRequestFactory.NumberOfCachedRequests); // not read from cache
Assert.Equal(1, store.JsonRequestFactory.CurrentCacheSize); // employees/1 in cache

store.DatabaseCommands.Get("employees/1"); // Response: '304 Not Modified'
Assert.Equal(1, store.JsonRequestFactory.NumberOfCachedRequests); // read from cache
Assert.Equal(1, store.JsonRequestFactory.CurrentCacheSize); // employees/1 in cache

store.DatabaseCommands.Get("employees/1"); // Response: '304 Not Modified'
Assert.Equal(2, store.JsonRequestFactory.NumberOfCachedRequests); // read from cache
Assert.Equal(1, store.JsonRequestFactory.CurrentCacheSize); // employees/1 in cache

// disable read from cache however can write to cache
using (store.DatabaseCommands.DisableAllCaching())
{
    store.DatabaseCommands.Get("employees/2"); // Response: '200 OK'
    Assert.Equal(2, store.JsonRequestFactory.NumberOfCachedRequests); // not read from cache
    Assert.Equal(2, store.JsonRequestFactory.CurrentCacheSize); // employees/1 and employees/2 in cache
    store.DatabaseCommands.Get("employees/2"); // Response: '200 OK'
    Assert.Equal(2, store.JsonRequestFactory.NumberOfCachedRequests); // not read from cache
    Assert.Equal(2, store.JsonRequestFactory.CurrentCacheSize); // employees/1 and employees/2 in cache
}

store.DatabaseCommands.Get("employees/2"); // Response: '304 Not Modified'
Assert.Equal(3, store.JsonRequestFactory.NumberOfCachedRequests); // read from cache
Assert.Equal(2, store.JsonRequestFactory.CurrentCacheSize); // employees/1 and employees/2 in cache