首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换红键时的内存管理

问转换红键时的内存管理
EN

Stack Overflow用户
提问于 2012-06-15 16:34:44
回答 1查看 287关注 0票数 3

我需要将键从字符串类型转换为哈希类型。所有键的名称都在集合list:of:keys中。

我目前的实现如下:

代码语言:javascript
复制
var rdbc = require("redis").createClient(6379, '127.0.0.1');
rdbc.smembers("list:of:keys", function(err, strings){
    strings.forEach(function(string, index, strings){
        rdbc.get(string, function(err, result){
            rdbc.del(string);
            rdbc.hset(string, "foo", result);
        });
    });
});

我的尝试成功了。但是,当list:of:keys包含许多值时,内存的使用率就会增加很多。

  1. 有内存效率高的结构可以通过很多键吗?(特别是inefficient)
  2. How似乎是strings.forEach(…,我是否通知node.js中的垃圾收集器在每次rdbc.del/rbdc.hset操作后进行清理?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-15 16:52:50

  1. 我不知道node.js的redis驱动程序是如何处理这个问题的,但是如果他们聪明的话,他们会使用redis提供的一些游标来遍历结果。这意味着不要在开始时获取所有结果,而是在访问结果时获取它们。
  2. 垃圾收集由V8 (node.js的底层JavaScript引擎)处理--关于它如何工作的文档很多(只需搜索“垃圾收集V8"):

代码语言:javascript
复制
- [https://developers.google.com/v8/design#garb\_coll](https://developers.google.com/v8/design#garb_coll)
- [Node.js and V8 garbage collection](https://stackoverflow.com/questions/5603011/node-js-and-v8-garbage-collection)
- [garbage collection with node.js](https://stackoverflow.com/questions/5326300/garbage-collection-with-node-js?rq=1)
- [Node.js' garbage collector](https://stackoverflow.com/questions/5331480/node-js-garbage-collector?rq=1)

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11054810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档