首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RavenDB起步--使用 RavenDB Studio

上一篇文章我们讲解了 RavenDB 的安装以及示例数据库的创建,并且其中涉及到了 RavenDB Stuido 的使用,但是只是简单的讲解了一下。...那么在这篇文章中我将带领大家来具体的学习 如何在 RavenDB Studio 中实现增删改查。...一、增加 当需要手动向 RavenDB 库中增加一条数据时,我们可以在 RavenDB Studio 中手动添加。...虽然说 RavenDB Studio 在增加一个新文档时,会基于现有文档来生成,但是因为在 RavenDB 中没有类似于 schema 的东西,所以我们可以随意增加和删除属性来修改文档结构,这个功能使数据模型在演变和处理复杂数据的时候更加容易...三、删除 如果要删除 RavenDB 中指定的文档,只选择该文档并点击 Delete 按钮即可。

71520

RavenDB 文档建模--使用 RavenDB 作为键值存储

RavenDB 非常适合键/值存储,为了确保快速存取数据库,RavenDB 在设计的时候降低了存储和加载文档的成本,这是 RavenDB 和其他数据库相比最大的有点。...由于数据限制必须是 JSON ,因此使用 RavenDB 作为键/值存储是完全没问题的。使用 RavenDB 缓存信息的常见场景有:存储购物车信息、存储用户会话数据、缓存热点数据等等。...在使用 RavenDB 作为键/值存储的情况下,下面所列的内容是很有用的: 可以独立于使用的集合生成文档标识符; 通过提供要加载的 ID,可以在单个调用中完成加载文档; RavenDB 为文档提供自动过期功能...但在,RavenDB 中允许我们非常轻松地查询和聚合数据。但是考虑到 RavenDB 对数据的处理能力,仅将 RavenDB 用于键/值数据有点浪费。...因此,我们还能将它作为标准的数据库进行操作,下一篇文章我将讲解 RavenDB 数据建模。

63320
您找到你想要的搜索结果了吗?
是的
没有找到

RavenDB数据建模--总结

在本专题中我们首先将 RavenDB 视为一个简单的键/值存储。只需将数据存储进去并通过键访问数据即可。同时我们还学习了使用过期功能来存储与时间相关的数据。...接下来,我们讨论了建模时必须考虑的一些约束,例如如何处理文档的增长以及RavenDB中文档的良好大小。...然后我们学习了如何处理带有附件的二进制数据,以及使用修订功能进行审计和更改跟踪,并且了解了我们可以在 RavenDB 中如何让文档数据过期。简要介绍了索引和查询时的引用处理。...在RavenDB中文档以某种方式存储和访问,而我们默认使用查询以获得更高的性能并有更多的优化机会。此行为由用户根据具体情况进行控制,因此你可以为每个方案选择适当的模式。

39430

RavenDB起步--第一个 RavenDB 程序

本篇文章将带领大家实现一个小的 RavenDB 案例程序,要求是这样的:实现一个 ToDoList 程序,可以对它进行新增、修改。下面我们开始吧! 新建项目 我们将这个项目新建为控制台应用程序。...项目新建成功后,我们需要在项目中安装 RavenDB 的包。在 NuGet b包管理其中查找 RavenDB.Client 包并安装它。...设置完之后,我们在 RavenDB Studio 中创建 Tasks 数据库,具体怎么创建我就不多说了,有不会的小伙伴请去查看上一篇文章。...新增 既然要操作 RavenDB 肯定就少不了实体类,虽然说 RavenDB 使用的是完全动态的数据库,但是在实际开发中大多数情况都需要使用实体类。...然后将任务存储在会话中并调用 SaveChanges 方法将会话中的所有更改保存到 RavenDB 中。

34410

RavenDB建模--常见建模方案

RavenDB 中对如何在应用程序中进行数据建模没有任何要求,我们可以使用任何形式进行建模,RavenDB 只关心如何构建数据,这就是我们后续几篇文章要讲解的内容。...public Parent Mother { get; set; } public Registration Registration { get; set; } } 我们在建模时应遵循 RavenDB...where c.Grandparents.Contain(grandparent.Id) select c ).ToList(); } Tip:在 RavenDB...在这种情况下,仅为订单标头创建文档大概率是有意义的,但是如果使用投影也是可以的(这些内容将在后面的文章讲解),这样就省去了拆分数据的需要,在 RavenDB 中构建一对一关系的典型方法是利用文档 ID...另一种情况是,如果需要对文档进行并发活动,由于文档是 RavenDB 中的并发单位,因此需要对文档进行建模,以便它们具有更改的单一原因。

49010

RavenDB起步--客户端API(三)

我们修改或者删除文档后,同样也需要调用SaveChanges 方法来更新 RavenDB,而且利用 Query 查询出来的文档在会话中也只有一个实例,不管你查询了多少次。...这里要注意 RavenDB 不允许在查询期间进行计算(例如:SUM、AVG 这类的计算),并且它不存在表扫描或慢查询的问题。...Name = "Oscar Arava" }; session.Store(person); 同样,与 Delete 方法一样,只有在调用 SaveChanges 方法后,数据才会真正的保存在 RavenDB...中,并且对于新增来说,RavenDB 会为新实体提供一个 ID。...那么就可以调用 Store 方法来将实体和会话绑定在一起,并且它的 ID 不是空的,RavenDB 认为它以存在于库中,因此将会以更新的形式存入库中。

85560

RavenDB起步--文档标识符

在关系型数据库中表一般情况下都会存在主键,这个主键在所在表中是唯一的不可重复的,同样在 RavenDB 中也存在这样的主键,它被成为文档标识符或文档ID。...下面我们来看一下 RavenDB 生成文档 ID 的策略。 TIP:RavenDB 的文档 ID 是数据库全局唯一的,这和关系型数据库的主键是所在表唯一不一样。...比如我们要在 RavenDB Studio中创建一个订单数据,这时我们在 ID 中输入 order/ 然后单击 Save , RavenDB 就会为我们自动生成一个类似于下图的文档 ID。...我们在 RavenDB Studio 的 ID 中输入:order| 即可使用 Identity 生成 ID。...RavenDB 通过将文档 ID 存储在 B+Tree 中来跟踪它们。如果文档 ID 非常大,则意味着 RavenDB 可以在给定空间中存储更少的文档 ID。

31620

RavenDB建模--ACID模式和BASE模式

这两种模式在 RavenDB 中都有用到,但是各有利弊。虽然完全一致的迷哦行使得数据建模和数据库易于构建和推理,但构建和维护的成本是非常高的。...RavenDB 中的索引是作为异步任务处理的,每当数据库有更新时都会在后台运行相关索引更新。...同样,这也使我们能够即时确定一些操作的优先级,如果现在 RavenDB 负载很大,那么我们可以减少编制索引所花费的时间以便为更多请求提供服务,这遵循一种思想,即我们总是希望能够尽快的从 RavenDB...RavenDB 中的索引的更新在某种程度上可能会落后于它们所反映的文档,但是一般来说文档更新和索引更新之间的时间差通常以微秒为单位进行度量。...当然,如果你需要在操作完文档后让 RavenDB 等待索引更新完成也是可以的,但是在实际开发中这个功能并不是优先选择的。

32010

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券