草庐IT

database-performance

全部标签

database - 中止 BGSAVE 已经在进行中

我通过在redis-cli中调用BGSAVE命令开始保存redis-db快照。它已经开始运行,但我不断在日志中收到这些错误[30853]27Jan07:18:41.129#Backgroundsavingerror[30853]27Jan07:18:47.043*1changesin900seconds.Saving...[30853]27Jan07:18:47.058*Backgroundsavingstartedbypid13204[13204]27Jan07:18:47.058#Failedopening.rdbforsaving:Permissiondenied[30853]2

performance - LREM 一个 "big"字符串或 SET/GET + LREM 一个 "small"字符串

我希望这不会成为一个开放式问题。我正在使用RPOPLPUSH实现reliablequeue我正在尝试评估直接在列表中具有(可能很大的)字符串值(例如JSON)或在列表中只有一个“键”并使用SET存储/检索值之间的权衡/GET(即2个额外调用),在本例中为LREM仍然是O(N),但是字符串越小,性能应该越好。我没有考虑到什么? 最佳答案 你应该自己测试一下。也就是说,内存分配/解除分配比网络更快,因此大字符串的性能可能会更好。 关于performance-LREM一个"big"字符串或SE

node.js - 蒙哥错误: database names cannot contain the character ' ' when using mongoosejs connect to mLab

这是我的JS代码:varmongoose=require('mongoose');mongoose.connect("mongodb://myUsername:myPassword@ds161039.mlab.com:61039/accounttest");这是我启动服务器时的错误C:\Users\QkLahpita\Desktop\server_node_2\node_modules\mongodb\lib\db.js:1774if(databaseName.indexOf(invalidChars[i])!=-1)throwMongoError.create({message:"d

database - 从 mongodb 集合中获取最后一条记录

我创建了一个mongo数据库,其中包含一个名为“rooms”的集合。我想得到最后一个房间来创建下一个房间的id。你可以在下面看到我恶心的代码:房间架构varmongoose=require('mongoose');varbcrypt=require('bcryptjs');varSchema=mongoose.Schema;varRoomSchema=mongoose.Schema({name:{type:String,index:true},users:[{type:Schema.Types.ObjectId,ref:'user'}],messages:{type:[String]}

database - 如何打开 mongo-db 转储文件?

我有一个.dump文件(8GB),这是一个我需要使用的mongo数据库。我正在使用Robo3T。我试过:a)robogui中的菜单选项b)mongorestore--dbcert-dbcertctream.dump命令,出现错误(在没有扩展名的情况下使用certctream也不起作用)Failed:filecertctream.dumpdoesnothave.bsonextension我错过了什么? 最佳答案 解决方法:mongoimport--db--hostlocalhost:27017path_to_dump_file

database - 如何检查索引交集是否支持 MongoDB 中的查询?

tl;博士我已经设置了可用作我的查询的索引交集的索引由于数据不足,查询规划器不喜欢交叉点现在我需要一种稳定的方法来验证这个潜在交叉路口计划的正确性,就像使用explain()hint()用于单个索引设置我完全理解为什么索引交集不是首选atm,而且在大多数情况下实际上可能不是首选。但我只是在寻找一种方法来总体上验证索引交集。========我有一个notifications集合,其中包含诸如{"_id":ObjectId("5cdd1819c1136c394a052aa2"),"notifiable":DBRef("users",ObjectId("5cdd172ac1136c1bdc0

mysql - 用于 MySQL 和 MongoDB 的带有 Database_Cleaner 的 Cucumber

我正在构建一个Rails应用程序,该应用程序将MySQL用于某些模型,将MongoDB用于其他模型(通过mongo_mappergem)。我们已经开始为该应用程序构建cucumber(使用capybara和网络驱动程序)测试,并且遇到了一些问题,因为引用的ID不存在。我相信我已经追踪到MongoDB中的旧数据。此时,database_cleaner正在处理MySQL记录,而不是MongoDB记录。有一个discussionatthecucumber-railsproject关于使用MongoDB,但我相信它假设您只使用MongoDB,而不是同时使用MongoDB和MySQL。有没有办法

node.js - 错误 : database names cannot contain the character '.'

我正在使用meteor.js,我只是去更改.html文件中的一些HTML输出,它开始给我错误:Error:databasenamescannotcontainthecharacter'.'我没有改变任何东西,我记得唯一做的事情就是开始一个我使用meteor.js创建的新项目,然后更新了meteor,现在我遇到了这个问题。其余错误详情:Error:databasenamescannotcontainthecharacter'.'W20130828-09:52:22.049(1)?(STDERR)atvalidateDatabaseName(/Users/jumpingcode/.mete

performance - MongoDB 多键索引写入性能下降

在MongoDB中,我有一个包含文档的集合,该集合包含一个包含子文档的数组,我想在其上建立索引:{_id:ObjectId(),members:[{ref:ObjectId().str,...},{ref:ObjectId().str,...},...]}索引位于ref字段上,这样我就可以快速找到其成员中具有特定“ref”的所有文档:db.test.ensureIndex({"members.ref":1});我注意到,当数组长度超过几千时,将附加子文档推送到数组的性能会迅速下降。如果我改为对字符串数组使用索引,性能不会降低。以下代码演示了该行为:var_id=ObjectId("52

node.js - NodeJS 加密 : re-use cipher object to improve performance

我想要nodejs和加密的MongoDB数据库。我担心性能。考虑以下用例:我有一个加密数据库,我从中检索加密字符串列表(例如名称)[_encrypted_name_1,_encrypted_name_2,...]我想解密该列表中的所有元素因为我很关心性能,所以我做了一些测试来解决这个问题。我观察到,与加密/解密非常大的字符串相比,加密/解密大量小字符串的速度非常慢。考虑以下示例:varcrypto=require('crypto'),_=require('lodash'),encryptedStringArray=[],decryptedStringArray=[],encrypted