【发布时间】:2015-05-10 19:43:10
【问题描述】:
RavenDb 不支持补丁的事务。但是在几乎任何高负载项目中,补丁都是唯一的方法(由于并发问题)。您不可避免地会遇到需要执行一系列补丁的情况:
AddLikeToCommentLikes(...); AddLikeToUserLikes(...) //需要向用户显示他喜欢的评论
根据我的经验,通常会有主要更改和次要更改(如果丢失可以恢复)。但有时会有几个同样重要的变化。
那么在这种情况下,最好的做法是使补丁不发生或全部发生?有没有办法模拟多个补丁的事务?
我在这方面的唯一想法是将更改合并到一个脚本补丁中。所以我们有一个添加注释的脚本,然后在同一个脚本中,我们使用 LoadDocument 获取 UserLikes 文档并对其进行修改。但我怀疑 RavenDb 保证不会在此操作中修改 UserLikes。
【问题讨论】:
标签: ravendb