草庐IT

nodes_alive

全部标签

用于将 redis key 读取为流的 node.js 模块

我在Node.js上读取Redis中的键时遇到问题,它们将数据保存到mongodb。因为键的数量很大(130万),这会导致JavaScript堆内存不足。任何人都可以建议我一些Node.js模块来将Rediskey读取为流或解决此问题的其他一些解决方案,这样我就可以避免此问题。非常感谢! 最佳答案 ioredis(https://github.com/luin/ioredis)确实支持流。SCAN来自自述文件的示例。varredis=newRedis();//Createareadablestream(objectmode)vars

node.js - 我如何将值设置为 redis 中特定键的列表?

我必须检查我是否可以将expire放在一个对键有值(value)的列表中。为此,我可以执行以下操作。rpushmylist123>prints123setkeymylist>prints"ok"expirekey5>prints"(integer)1"这只会使key和mylist之间的连接过期getkey>prints(nil)将导致null。但是列表(这里是我的列表)存在lrangemylist0-1>prints"123"打印列表中的所有值。我希望销毁list。我如何在命令行或nodeJS中执行此操作? 最佳答案 您正在将键“k

node.js - 如何在 Redis 中的对象中搜索值?

我是Redis和Nodejs的新手,我看过this教程,我正在尝试按名称搜索用户,这是对象,当我传递id时从redis返回:{first_name:'‪john',last_name:'doe',email:'john@gmail.com',phone:'543313305',id:'user001'}这是搜索的功能:app.post('/user/search',function(req,res,next){letid=req.body.id;client.hgetall(id,function(err,obj){if(!obj){res.render('searchusers',{

node.js - 如何将所有redis记录传递给查看?

我想将所有记录从Redis传递到View。我认为我对redis值做错了,因为我无法将它推送到数组或对象。我试过这样:app.get('/',function(req,res,next){varitems=[];client.keys('*',function(err,obj){for(vari=0,len=obj.length;i当我控制台记录我得到的值时for(vari=0,len=obj.length;i值显然是一个对象...我需要对其值进行for循环吗?或者也许有更简单的方法。 最佳答案 那是因为你正在进行异步调用,试试这个代

javascript - Array.push 不保留 node.js 中的数组值

我已经promise缓存数据并将Json值数组推送到新数组中的代码,但在链接之后,数组显示未定义。这是代码片段。'usestrict';constPromise=require('bluebird');let_connectResolve,_connectReject,onConnected=newPromise((resolve,reject)=>{_connectResolve=resolve;_connectReject=reject;}),redis=require("redis"),redisClient=redis.createClient({host:'localhost

node.js - 执行 redis eval 命令以在 nodeJS 中运行 Lua 脚本

在Redis中,我通过CLI运行Lua脚本,如下所示:-$redis-cli--evaldebug_script.luakey1key2key3key4,arg1arg2因此,我的Lua脚本接受4个键和2个参数。现在我想在Node.js中运行相同的脚本。我正在使用this用于在我的应用中导入Redis的库。我没有找到任何示例来说明用于执行Lua脚本的redisClient.eval(...)函数的参数。因此,我只是随便打一些可能有用的东西。但似乎没有任何效果。我的app.js是这样的:varredis=require("redis")varclient=redis.createClie

node.js - Node.js、Redis、套接字

我有一个nodejs应用程序,它从redis读取数据,但我无法将其推送到套接字中。在c.write(message)部分,如果我硬编码(例如c.write('hello'),消息将被放入套接字但是当我把它作为c.write(message)时,没有任何东西会进入套接字。提前致谢varnet=require('net');varsplit=require('split');varRedis=require('ioredis');varredis=newRedis();varserver=net.createServer(function(c){console.log('clientcon

javascript - 登录系统 - Node.js 和 Redis

这个问题在这里已经有了答案:WhyismyvariableunalteredafterImodifyitinsideofafunction?-Asynchronouscodereference(7个答案)关闭5年前。我想使用node.js和Redis(Redis包)创建登录系统,但每次我将输入数据与数据库数据进行比较时,我都会得到一个令人困惑的结果。这是第一种方法:constRedis=require("redis");constclient=Redis.createClient();exports.userLogin=(username,password,errMsg,success

node.js - 将 NodeJS 连接对象保存在共享数据库/内存中

我正在运行带有NodeJS6的Debian8,并且正在使用IBMWatsonIoT平台:https://github.com/ibm-watson-iot/iot-nodejs我在IBM中创建了一个网关,并且能够使用以下代码连接并向其发布数据:vargatewayClient=newiotf.IotfGateway(config);gatewayClient.connect();gatewayClient.on('connect',function(){gatewayClient.publishGatewayEvent("status","json",'{"d":{"cpu":60,"

node.js - Redis 到永久存储的迁移

目前,我的网络应用程序在Redis数据库(所有数据库)上。它需要超过4GB的RAM,这让我付出了很多代价。我想将我的应用程序的某些部分迁移到永久存储数据库(SQL、mongo...)那么,谁能告诉我哪个是最佳选择(SQL、mongo...)?我的应用程序的技术堆栈:nodejs(express)角度redis 最佳答案 这实际上取决于您的设计。您的数据是否高度相关?Redis被认为是一种NoSQL技术,所以我猜MongoDb会有些相似,但实现将基于文件而不是键值集。如果你需要你的数据在每个数据集之间有很强的关系,那么SQL系列就是为