我试图理解日记是如何正常工作的:这是正确的吗?
如果服务器端没有激活日记功能(mongod --nojournal):
在Mongod上激活日记功能时(mongod --journal(默认为64位版本):
我实际上在官方文档中没有找到关于案例2(b)的任何内容,有人确认当j在客户端是假的时候是否使用了日志但是在mongod上激活了日志?
答案 0 :(得分:1)
你的断言都是正确的。我认为你使用的语言令人困惑,但可能会让你感到困惑。客户不要求记录或非记录的写入。如果启用了日记功能,则无论客户端执行什么操作,都会记录写入操作。客户端包含的是write concern,在服务器响应写入为a之前,需要一定级别的数据复制(w
参数)和/或日志(j
参数)。成功。非日记写的意思是j = 0
,这意味着服务器将成功响应而不等待写入提交给日志; j = 1
表示服务器在将其提交到日志之前不会响应写入。
w
参数控制成功响应所需的数据复制级别。上面的链接中有更多详细信息。