see on GitHub

Client API: What is a Document Store


  • The Document Store is the main Client API object which establishes and manages the communication between your client application and a RavenDB cluster. Communication is done via HTTP requests.

  • The Document Store holds the Cluster Topology, the Authentication Certificate, and any configurations & customizations that you may have applied.

  • Caching is built in. All requests to the server(s) and their responses are cached within the Document Store.

  • A single instance of the Document Store (Singleton Pattern) should be created per cluster per the lifetime of your application.

  • The Docment Store is thread safe - implemented in a thread safe manner.

  • The Document Store exposes methods to perform operations such as:

    • Session - Use the Session object to perform operations on a specific database
    • Operations - Manage the server with a set of low level operation commands
    • Bulk insert - Useful when inserting a large amount of data
    • Conventions - Customize the Client API behavior
    • Changes API - Receive messages from the server
    • Aggressive caching - Configure caching behavior
    • Events - Perform custom actions in response to the Session's operations
    • Data Sucscriptions - Define & manage data processing on the client side