【问题标题】:Couchbaselite save operationCouchbaselite 保存操作
【发布时间】:2014-01-31 09:41:44
【问题描述】:

保存 CBLModel 是一项昂贵的操作。将 CBLModel 保存到数据库需要多少秒/毫秒?

CBLModel *model = [database modelForDocument:documentID];
NSError *error;
[model save:&error];

【问题讨论】:

  • 没关系,我发现Couchbase中有一个批量保存的操作,这正是我想要的

标签: ios couchbase couchbase-lite


【解决方案1】:

如果你有很多模型要保存,你可以使用 CouchBaseLite 事务来大大提高性能。

[database inTransaction:^BOOL()
{
    for ( int i = 0; i < 1000; i++)
    {
        CBLModel *model = ...;
        NSError *error;
        [model save:&error];
    }
    return (YES);
}
];

【讨论】:

  • + (BOOL) saveModels: (NSArray*)models error: (NSError**)outError;(API available in CBLModel class) 这不是更好吗?
  • 您的解决方案更简单更好!我查看了 CouchBaseLite 中的 saveModels 代码,也有一个事务。但是,如果事务失败,则不会为任何模型调用 didSave 方法。
  • 使用我的方法,虽然调用了模型的 didSave 方法,但可能无法保存模型。所以是的,你的方法更好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
  • 1970-01-01
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多