草庐IT

javascript - 在 NodeJS 或 Javascript 中完成例程

我是一名PHP程序员,我开始使用NodeJS进行开发以优化我的Web应用程序并减少服务器资源。我不是Javascript专家,因此,我对语法和代码有几个疑问。我开发了以下代码:varredis=require("redis"),client=redis.createClient();client.on("error",function(err){logger.error("Couldn´tconnectRedis");});client.on("connect",function(){client.get("user:ID",function(err,reply){if(reply){

performance - Redis,边读边写,用NodeJS

我有一个NodeJS工作人员每小时更新一次我的Redis数据库。该工作批量查询远程数据库,以便连续发送请求组,以最大限度地提高性能(在远程数据库上)。当我将响应写回我的RedisSortedSet时,我观察到-有时-从Redis数据库读取变得非常慢,并且执行时就好像发生了阻塞.我已尽力确定为什么这种情况只是偶尔发生,但我无法可靠地复制性能,也无法以任何系统的方式复制。有什么充分的理由可以说明性能会下降这么多吗?我错过了什么吗?Windows上的Redis:redis_version:2.4.6redis_git_sha1:26cdd13aredis_git_dirty:0arch_bi

node.js - NodeJS 从 redis 查询中导出变量

我需要能够通过查询redis中的值来为模块导出变量,但是我不知道如何异步执行此操作。这是我试过的,其中getconfig()是一个返回从redis查询的变量的函数:varexports={};module.exports=exports;getconfig(function(config){exports.ConnectionString={Server:config.db.server,Login:config.db.userName,Database:config.db.database,Password:config.db.password,Port:1433,Timeout:1

javascript - NodeJS Redis 'get' 命令的错误#args

每当我在我的nodejs应用程序中使用node_redis向Redis发送get命令时,它都会告诉我它的参数数量错误。我试过有回调和没有回调,它总是说这是错误的。varuser=redClient.get(user);//andvaruser=redClient.get(user,function(err,result){if(err){console.log(err);}}); 最佳答案 我不知道是否有人关心,或者我遗漏了文档中的某些内容,但显然将redis.print作为回调添加到每个命令可以解决这个问题。添加您自己的回调不会执

node.js - 如何使用 NodeJS 动态订阅 Redis channel

在下面的代码中,我有数组channels,它在应用启动时被处理。我在尝试通过/channels/add/id路由动态添加和订阅新的Redischannel时遇到问题。这可能吗?(为了能够重新初始化channel数组然后订阅新channel?)关于如何实现,我目前唯一的想法是将channel名称写入文件,然后在启动期间读取该文件并让cron重新启动应用程序。这将是一个非常糟糕的方法,我希望有更好的解决方案。感谢您的宝贵时间。varexpress=require("express");varapp=express();varport=3000;varfs=require("fs");var

node.js - Redis 的 NodeJS 和 Redis 超时触发器

我想制作一个基于集群的NodeJS脚本,它有8个或更多的worker。该脚本在独立时使用SetTimeout并且计时器存储在NodeJS脚本内部。现在我必须对此做些什么,我想也许我可以使用redis过期并以某种方式在key过期时从redis调用一个函数?任何人都可以给我看一个小例子吗?还有一个问题:这有多可靠? 最佳答案 如果你使用的是Redis2.8.0+,那么有keyspacenotifications.它们使用Redis中现有的pubsub机制,因此您可以简单地订阅这些各种通知。您确实需要确保启用这些通知,因为它们在默认情况下

node.js - NodeJS Expres + RedisStore ,请求 session 始终未定义

我确实看到了一些类似的问题,但是九个可以解决我的问题!req.session在nodeJSExpress应用中总是未定义的。在express/connect-redis/和express-session包上使用最新版本。varexpress=require('express');varapp=express();varport=process.env.PORT||8008;varmongoose=require('mongoose');varcookieParser=require('cookie-parser');varbodyParser=require('body-parser'

javascript - NodeJS Redis session 不会通过浏览器重定向持续存在

我对node还是很陌生,正在尝试使用express+redis进行session管理。我当前的项目要求将用户重定向到外部站点以进行身份​​验证。身份验证后,浏览器将重定向到我指定的回调url。我需要session数据在重定向中保持不变。我的实现如下:用户触发对nodeJS服务器的POST调用,我通过req.session.foo='bar'将数据保存到session,然后将auth_url返回给浏览器。浏览器使用window.location.replace(auth_url);重定向到外部站点进行身份验证身份验证后,浏览器被重定向到localhost:3000/mycallbacku

node.js - Nodejs 中的 connect-redis

我在我的nodejs应用程序(express4.x)中使用了nodejs/express/redis/express-sessionredis初始化由connect-redis/session框架在后台完成。到目前为止它有效。现在我需要用redis来存储session之外的其他数据,world希望有sessionstore以外的新store。只能开一家店吗?如果只有一个存储,是否可以使用由connect-redis/session初始化的redis客户端?如何获取?感谢您的帮助!现在的代码是:varexpress=require('express');varsession=requir

node.js - nodejs 对象 #<Server> 没有方法 'configure'

我有一个Node服务器:varhttp=require('http');varserver=http.createServer().listen(4000);vario=require('socket.io').listen(server);varcookie_reader=require('cookie');varquerystring=require('querystring');varredis=require('redis');varsub=redis.createClient();//SubscribetotheRedischatchannelsub.subscribe('c