草庐IT

node.js - 如何等到 Node 中的 redis 收到响应?

我是node和redis的新手。我在我的node应用程序中使用redis。我想检索以同步方式从Redis获取数据。这是我尝试过的。varredis=require("redis"),client=redis.createClient();client.set('key',10,redis.print);functiongetfn1(key){client.get(key,function(err,reply){if(err){console.log('Responsefromgetfn1:-');console.log(err);return;}console.log('Respons

node.js - Node js、socket.io、redis 和 pm2

我们的系统包括一个NodeJsRestfulAPI服务器。此服务器还用作套接字IO服务器。很多设备会通过socketio连接到服务器,用户可以通过调用restfulAPI来控制设备,服务器通过socketIO向设备传输命令。我们使用pm2对API服务器进行集群。你能帮助如何使用Redis.io服务器来支持从集群向特定套接字实例发送消息吗? 最佳答案 如果您已经设置了一个Redis服务器,您所要做的就是设置socket.io-redis适配器:https://www.npmjs.com/package/socket.io-redis从

node.js - Node JS 适合作为即时通讯服务吗? MongoDB 适合做数据库吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion我正准备做一个小型的即时通讯服务器。我正在考虑使用MongoDB、NodeJS和Redis。您认为这是一个不错的选择吗?您如何看待模型模式?

node.js - Express 中基于 Bluebird promise 的请求处理程序返回错误

我正在使用Express(4.x)、Redis(2.8)和Bluebird(2.x)-需要将多个Redis调用串在一起以返回响应:varpromise=require('bluebird');varredis=require('redis');varredis=redis.createClient(6379,process.env["REDIS_ENDPOINT"],{});promise.promisifyAll(redis);//GETexports.inOffers=function(req,res){returnredis.smembersAsync('advertisers'

node.js - 多 channel 取决于路径与nodejs和redis

我尝试根据同一端口中nodejs的路径创建多channel。例如(我的端口是8080):www.exemple.com:8080/channel/1www.exemple.com:8080/channel/2www.exemple.com:8080/channel/3www.exemple.com:8080/channel/4每个url路径channel对应一个channelredis例如(channel-X):varchannel='channel-X'getRedis.subscribe(channel);但我不知道如何链接channel并重复网址。这是我到当前时间的代码。sock

node.js - 相当于 node.js 中的 .net 输出缓存?

刚接触node来自asp.net,所以对在node.js中实现缓存的最佳模块/框架感到好奇。我想缓存一些昂贵的数据库查询,因此正在寻找一种简单的方法来将数据库结果或整个http页面输出缓存到内存。在.net中,它将使用httpcache或页面输出缓存。Node世界中是否有等价物?我应该只设置一个本地memcached或redis服务器来完成这个吗? 最佳答案 如果您使用的是express,那么会有一个settings启用View缓存的选项,而且由于express是建立在连接之上的,您可以尝试查看connect-cache模块。对于缓

node.js - 使用 redis 限制为 10 个结果

我想知道如何对redis查询限制10个结果。我正在使用Nodejs库和streamline.js。基本上,我将hgetall作为一个命令执行,但文档指出“SORT”命令有一个LIMIT选项。我只是想知道是否有任何方法可以在redis中应用限制。以下是其中一个查询的示例:members.hgetall(All,_); 最佳答案 HGETALL检索特定哈希键的所有成员(字段和值)。所有这些,但不限于此。当谈到SORT时,它指的是对List、Set和SortedSet的操作.它按照SORT参数的规定,以有序方式返回这些结构的成员。参见SO

node.js - Redis 中的 SQL 或 Oracle 表结构

我正在使用node并计划使用redis来存储数据[数据将采用SQL或oracle表格式,其中包含许多字段,如ID、名称、城市、标记等]。发现我们在redis中只能存储key和value三种数据结构[inlist,setorsortedset]。我可以像表名[键名]那样存储吗:详细信息和值,如ID:1,名称:john,国家:俄罗斯,ID:2,姓名:Rose,国家:US等redis除了list、set、sortedset还有其他数据结构吗? 最佳答案 是的。请参阅文档。http://redis.io/topics/data-types

node.js - 在 node.js 中,如何识别缓冲区是二进制还是文本?

下面是一段在node.js中实现redispubsub的代码。我在读取一个文件和一个纯文本后发布了一个二进制数据,有没有办法识别消息接收到的缓冲区是二进制还是文本?varredis=require("redis"),pub=redis.createClient(null,null,{detect_buffers:true}),sub=redis.createClient(null,null,{detect_buffers:true}),fs=require("fs");sub.subscribe("abc");sub.on("subscribe",function(channel,co

node.js - 如何使用 Redis 数据库根据以毫秒为单位的时间对 node.js 中的数组进行排序

我正在尝试根据时间(毫秒)对包含Id和Time的数组进行排序。Map.sort(function(a,b){returna.Time-b.Time});for(keysinMap){multi.hgetall(Map[key].id+':List');}multi.exec(function(err,data){res.send(data);});它不显示任何数据。该数组中有3个ID。 最佳答案 我不知道你的代码中的res是什么。即使您将变量命名为keys,您也会在这句话中获得数组索引:for(keysinMap){...}尝试这样