对不起,我的英语不好。(
我在开发模式下使用CouchDB表单几个月了,当我们想在生产环境中使用它时,我们发现了一些性能问题,1000个文档插入和更新需要7秒(因为我在这里使用缓存,否则需要更长的时间)。
我知道我可以使用批量更新,但我不能,因为我们的对象设计是这样的:
在Python中()
class Props(object):
def __set__(self, name, value):
# this is a setter, and update couched
couchdb.update(database, name, value)
class User(object):
name = Props('name' + self.id)
然后我可以使用这样的代码
user = User()
user.name = 'CouchDB'
然后将'CouchDB'保存在'testrongomedatabase'数据库中,文档id为'name10000',值为{'name': 'CouchDB'}
这很容易阅读和理解,但是如果我这样做会导致性能问题:
for i in range(100):
user.name = 'something'
有更好的方法来解决这个问题吗?我可以使用TCP在套接字而不是HTTP?谢谢!
CouchDB仅是HTTP,即使有TCP,进行1000次调用总是比仅进行1次调用慢。如果你真的关心性能,你应该重新考虑批量文档更新api。