You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在内存中运行RavenDB Embedded?配置文件相关疑问

RavenDB Embedded 内存运行实现与配置文件说明

一、代码实现内存中运行RavenDB Embedded

直接通过代码配置嵌入式服务器的内存存储模式,无需依赖物理文件目录,示例代码(C#):

using Raven.Client.Documents;
using Raven.Server;

var serverOptions = new ServerOptions
{
    // 指定内存存储,无需物理数据目录
    DataDirectory = Raven.Server.Constants.Server.DataDirectory.InMemory,
    // 可选:设置服务器监听地址
    ServerUrl = "http://localhost:8080"
};

// 启动嵌入式服务器
using var server = new RavenServer(serverOptions);
server.Start();

// 连接到内存数据库
using var store = new DocumentStore
{
    Urls = new[] { "http://localhost:8080" },
    Database = "InMemoryDB"
};
store.Initialize();

// 验证存储功能
using (var session = store.OpenSession())
{
    session.Store(new { Id = "docs/1", Content = "内存测试数据" });
    session.SaveChanges();
}

核心是DataDirectory设置为InMemory常量,这会让RavenDB完全在内存中存储数据,进程结束后数据自动清理。

二、JSON配置文件的适用性与存放位置

适用性

Embedded版本完全支持JSON配置文件,配置项和独立服务器版大部分通用,但集群、持久化存储等生产级配置会被内存模式覆盖或忽略。

存放位置

  • 自定义路径:通过ServerOptions.ConfigurationFilePath指定配置文件的绝对/相对路径:
    var serverOptions = new ServerOptions
    {
        ConfigurationFilePath = "./config/ravendb-settings.json"
    };
    
  • 默认路径:如果未手动指定,嵌入式服务器会自动在程序运行的工作目录下查找settings.json文件。
  • 动态加载:也可以直接加载配置文件内容,再结合代码配置覆盖:
    var serverOptions = new ServerOptions();
    serverOptions.LoadConfiguration("./custom-settings.json");
    // 强制启用内存模式,覆盖配置文件中的DataDir设置
    serverOptions.DataDirectory = Raven.Server.Constants.Server.DataDirectory.InMemory;
    

内容的提问来源于stack exchange,提问作者bbqchickenrobot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 20:10:36