Articles of 键值

如何在JavaScript中获得redis中的所有键和值?

我正在使用JavaScript创build节点API。 我用redis作为我的关键价值商店。 我在我的应用程序中创build了一个redis客户端,并能够获取关键的值。 我想要检索所有的键及其值。 到目前为止,我已经这样做了: app.get('/jobs', function (req, res) { var jobs = []; client.keys('*', function (err, keys) { if (err) return console.log(err); if(keys){ for(var i=0;i<keys.length;i++){ client.get(keys[i], function (error, value) { if (err) return console.log(err); var job = {}; job['jobId']=keys[i]; job['data']=value; jobs.push(job); }); } console.log(jobs); res.json({data:jobs}); } }); }); 但我总是得到空白数组作为回应。 有没有什么办法在JavaScript中做到这一点? 谢谢

Node.js最快,非基于内存的多进程键值存储

什么是支持多进程的Node.js最快的非内存键值存储? 我需要存储简单的键值string/string对(不是文档或JSON,只是string)。 这里有一些例子(其中会有数百万): 12345678 – abcdefghijklmnopabcdefghijklmnop 86358098 – ahijklmnopbcdefgahijklmnopbcdefg abcdefghijklmnopabcdefghijklmnop – 12345678 ahijklmnopbcdefgahijklmnopbcdefg – 86358098 我努力了: Redis :它真的很快,可以满足我所需要的一切,但是却消耗了太多的内存。 LevelDB :在RAM上它速度快而且不重,但只有单进程。 LevelDB的解决方法是多级的 ,通过HTTP公开单个LevelDB进程。 但是这当然是有代价的。 我需要快点。 有没有关键价值的商店: 支持Node.js或具有绑定; 存储string/string对; 支持多个进程; 不完全驻留在内存中; 快吗? 我只在乎阅读。 快速的多进程阅读是必要的,但不能写。 我对LevelDB的当前速度感到满意,而不是单一进程的事实。 额外细节: 我正在谈论大约五千万个键/值对,键和值在8到500个字符之间。 代码将运行在一个普通的Linux服务器上。 内存使用量应该限制在几千兆字节(4GB是好的,8GB是可以接受的) 阅读的方式不仅仅是写作, 其实,我可以不写文章。 速度比任何事情都重要(考虑到内存和多进程约束)。

交换键值JSON

我有一个非常大的JSON对象,如下所示: {A : 1, B : 2, C : 3, D : 4} 我需要一个函数,可以用我的对象中的键交换值,我不知道该怎么做。 我需要这样的输出: {1 : A, 2 : B, 3 : C, 4 : D} 有什么办法,我可以做到这一点手动创build一个新的对象,一切都交换? 谢谢