草庐IT

node-schedule

全部标签

node.js - 'adapter' 中没有方法 'io'(node.js、heroku、RedisCloud、socket.io)

在Heroku上使用RedisCloud和node.js允许(future)扩展到多个dyno。按照以下步骤让Redis工作:https://devcenter.heroku.com/articles/rediscloud#using-redis-from-node-js例如,下面带有注释“Prints'bar'”的行确实​​将“bar”写入控制台。然后按照此添加用于缩放的socket.io-redis:https://github.com/Automattic/socket.io-redis上面应该允许我使用类似下面的东西:io.adapter(redis({host:'localh

node.js - 如何在 Node js 聊天应用程序中存储用户的 session 信息?

我使用nodejs和socketio构建了一个基本的聊天模块。我知道javascript但在Node和套接字领域很新。现在我要将这个聊天模块集成到我们的一个应用程序中,不同组织的员工将能够在其中相互交流。现在,我面临的问题是——无法知道在哪里存储连接用户的session信息。我想做的是,假设有2个组织A和B。当组织“A”的任何员工将连接到Node套接字服务器时,我将为组织A创建一个session变量(可能是一个数组)&将该员工存储在该数组中。组织B也一样。通过这种方式,我想为每个组织创建一种桶结构,相应的员工将在这些桶中。因此,当组织的任何新员工连接到套接字服务器时,我将检查该员工属于

Node.js - 使用 Redis 原子更新进行扩展

我有一个执行以下操作的Node.js应用程序:从Redis获取数据对数据进行预计算将新结果写回Redis这个过程每秒可能发生几次。我现在面临的问题是我希望运行此过程的多个实例,并且由于每个Node在另一个Node获得最后一个值后更新,我显然看到更新的日期已过时。如何使上述过程原子化?我无法将操作添加到Redis中的事务,因为我需要在处理和更新之前获取数据(这会强制提交)。谁能给个建议? 最佳答案 对于问题不够清晰,我们深表歉意。进一步阅读后,我确实可以使用事务,但我一直难以理解的地方是我需要将读取与更新分开,并且只需将更新包装在事务

javascript - 在嵌套 for 循环中获取值 - node.js、javascript、redis、Q 库

我正在尝试从嵌套的for循环中提取值。我的循环从Redis获取值,我想将这些值添加到名为“info”的数组变量中。重要的一点是for循环。app.get('/query',function(req,res){varinfo=[];redisClient.keys("todo:*",function(err,data){if(err)returnconsole.log(err);for(vari=0,len=data.length;i基本上,我希望将变量“goodness”中的值推送到名为“info”的数组变量中。当我执行代码时,信息数组会在这里填满,console.log("Inher

javascript - Node Redis 获取高分的高效方式

在Redis中,我有一个包含100000个用户并且还在不断增长的大型数据集。为了制作排行榜,我扫描了整个数据库,获取每个用户的所有哈希值。然后我一个一个过一遍,得到分数。后来,我在javascript中进行排序和修整。我的问题是,做同样的事情更快的方法是什么?当前查询需要几秒钟。我的直觉是将数据存储在JS中,并且只运行一次查询。getLeaderboards:function(player){varself=this;async.waterfall([function(callback){client.smembers("usr",function(err,replies){varpv

node.js - 如何使用 llen 命令结果插入 rpush 的数据?

我只想使用'llen"someKey"'返回值(列表计数)在一次交易中添加'rpush'值。varcount=llen"keys"rpush"keys"count我如何使用这一笔交易? 最佳答案 您将不得不使用Lua在单个事务中执行这两个命令。该命令将是这样的:eval"locallen=redis.call('llen','someKey');redis.call('rpush','keys',len);"2someKeykeys请注意,最后一个参数是过程中涉及的键数及其列表。如果您有许多Redis实例,这将很有用。

使用 vue-3-socket.io 插件以及node.js实现实时聊天(1)

 这篇文章使用选项式API的写法,以实现群聊和私聊为主客户端自然是对应使用vue3框架,服务端使用node.js配合express、http、socket.io、file等库来实现,具体如下:一、完成客户端部分的配置代码1、下载所需的依赖npminstallvue-3-socket.iosocket.io-client2、做socket客户端配置//引入相关依赖importVueSocketIOfrom"vue-3-socket.io";importSocketIOfrom"socket.io-client";//创建一个Socket连接constsocketio=newVueSocketIO

node.js - Redis Heroku Node.JS 连接被拒绝

我正在观看CodeSchool“SouptoBits”截屏视频,将一个简单的node.js+redis应用程序部署到Heroku,他们在截屏视频中提供的内容对我不起作用。简单地尝试让应用程序使用redistogo连接到redis。这是我正在使用的代码,在错误下方://Redisconnectionvarredis=require('redis');if(process.env.REDISTOGO_URL){//productionvarrtg=require("url").parse(process.env.REDISTOGO_URL);varclient=redis.createCl

node.js - meteor 用于非常快的数据

我刚开始开发Meteor应用程序,并且有一个用例,我不确定它是否适合Meteor。我们有一个java应用程序以非常快的速度将数据推送到redis(数据更新不到50毫秒),我们正在构建一个Web应用程序(在NodeJS上)连接到这个redis实例并将数据发送到客户。目前(使用原生NodeJS应用程序),我们每秒仅发送两次数据(因为我们不需要如此快速的更新)。我的问题是,如何使用Meteor实现同样的效果?正如我们所知,Meteor有实时查询,一旦数据发生变化就会发送数据,但这对我们来说不是最佳选择。有没有办法调整实时查询以仅在特定时间后发送数据?谢谢 最佳答案

node.js - 在 Node.js/Express 中的路由中传递 Redis 键值对

这类似于question,但我的代码有多个路由。下面的代码适用于我想做的事情,但我想知道是否有更简洁的方法来编写它,因为我是Node/Express/Redis的新手。varexpress=require('express');varrouter=express.Router();vario=require('socket.io');varredis=require('./../lib/redis');redis.get('count',function(err,value){if(err)throwerr;/*GETDashboard*/router.get('/',function