草庐IT

node.js - 如何在 node.js 中使用 redis 进行身份验证?

我正在使用node_redis模块,但无法成功确定redis的密码。这是我的代码:varredis=require("redis"),client=redis.createClient(6379,"localhost");client.auth("password",function(err){if(err)throwerr;});每当我在命令行中运行此文件时,我都会收到以下消息:“Redis不需要密码,但提供了密码。”即使我尝试更改计算机的redis安装中的redis.conf文件,我仍然会遇到同样的错误:requirepasspassword请阐明这个问题。

node.js - 消息处理系统的设计

有人要求我创建一个消息处理系统,如下所示。由于我不确定这里是否适合发帖,请随时将其移至任何其他合适的SC组。问题服务器每时每刻大约有100到500个客户端连接。当客户端连接到服务器时,服务器加载部分数据并将其缓存在内存中以便更快地访问。服务器每秒将为所有客户端接收200~1000条消息。这些消息相对较小(大约500字节)。缓存中数据的任何更改都应尽快保存到磁盘。当客户端断开连接时,他们的所有数据都会保存到磁盘并从缓存中删除。每条消息都包含一些说明和一条将保存为文件的文本消息。指令应该尽可能快地执行(接近即时)并且所有使用该文件的客户端都应该得到更新。只能延迟将修改后的消息写入磁盘。这是

javascript - Node.js:Redis 安全说明

我有两台服务器,ServerA-生产中的nodejs服务器,已经有一个身份验证模块,修改代码的自由度很小,我添加了一个模块,它为serverB提供tokenkey。ServerB-nodejs服务器,未在生产环境中,更自由地更改代码,因为它不应该有独立的身份验证模块,依赖于来自serverA的tokenkey来对用户进行身份验证。我正在使用crypto模块生成token,并且在serverA和serverB中使用相同的密码种子。这行得通,但tokenkey未过期困扰着我。但是,服务器是独立的,因此服务器时间不会同步,因为一些疏忽,甚至可能相隔几天。然后,我遇到了redis,现在正在阅读

node.js - 如何获得所有回答值条件的键

我正在尝试使用Redis,我想根据这些值获得一个结果。例如:redis.hmset("user:"+id,"statut",3);redis.hmset("user:"+id,"statut",2);redis.hmset("user:"+id,"statut",2);我想要所有状态为:2的键Redis和nodeJS可以吗?非常感谢。 最佳答案 Redis并不是真正为这样的查询而设计的。您将必须扫描每个条目并检查值:redis.keys('user:*',function(err,results){results.forEach(f

node.js - CakePhp 3.x 使用 redis 与 nodejs 共享 session

好吧,我一直在关注这个使用redis在php和nodejs之间共享session的示例:https://gist.github.com/mscdex/9507b0d8df42e0aec825我的工作很顺利,但现在我想看看如何使用CakePhp来实现它。我有几个关于我将如何去做的问题:我是否应该只创建一个新的session处理程序并在构造函数中运行我需要在session开始之前执行的session配置?我是否应该创建一个新的Session.php类,扩展自CakePhp提供的类?如果我这样做,我将如何让应用程序使用它?上面链接的代码:varexpress=require('express

javascript - node.js zadd 参数中的 redis

我在node.js中有这一行,但我得到了错误的参数数量。在redis-cli中,这很容易,etgtest102,但出于某种原因,它在这里不起作用。例子:convensation:convensationIds:user:239842948741我的代码:redis_client.zadd(['convensation:convensationIds:user:'+data.from,convensationId,data.to]);错误:RRwrongnumberofargumentsfor'zadd'command编辑:我也试过redis_client.zadd('convensat

node.js - 如何使用 Node.js 在 Redis 中的 Sorted Set 的子键上设置过期

这里我使用node.js创建了一个SortedSet我想在一段时间后删除SortedSet的元素。这意味着子键在一段时间后过期。代码:varredis=require(redis);varclient=redis.createClient();//AddelementsintomySortedSetalongwiththeirscore.client.zadd("mySortedSet","1","one");client.zadd("mySortedSet","2","two");clinet.zadd("mySortedSet","3","three");我想在子键上设置过期。从“

node.js - 将数据库连接对象添加到 node.js 中的 process.env 全局是一种好习惯吗?

我们已经使用node的process.envGlobalObject来存储/访问environmentvariables但是我们还可以附加需要跨多个文件/模块访问的其他对象吗?一个具体的例子:假设您正在连接到一个数据存储区e.g。Redis1并且您正在模块化您的应用,这样每个模块都会打开自己与Redis的连接。使用以下内容是否有意义:process.env.redisClient=||process.env.redisClient||require('redis').createClient()//usetheshared/globalconnectionforyourneeds:pr

javascript - PubSub 上的 Node Redis 回调

为什么我不能在NodeRedis中使用PubSub模式设计进行回调?例如:server.publish("someChanel",someData,function(response){//responseshouldcomebackfromclient});client.on('message',function(channel,data,callback){//Dostuffwithdata//Returndatatocallbackcallback(someNewData);});这显然失败了,因为callback没有定义。 最佳答案

node.js - Heroku node.js 应用程序在 heroku 打开时崩溃

在我尝试“herokuopen”之前,我一直在关注Heroku上的“node.js入门”教程,没有任何问题。heroku日志如下:2015-09-06T01:40:57.721184+00:00heroku[web.1]:Statechangedfromcrashedtostarting2015-09-06T01:41:03.369114+00:00heroku[web.1]:Startingprocesswithcommand`npmstart`2015-09-06T01:41:06.941642+00:00app[web.1]:2015-09-06T01:41:06.941663+