草庐IT

Node-Express

全部标签

node.js - 在redis集群中如何获取 Node redis客户端通过命令HMSET设置的整个集群的数据?

是否可以通过HSCAN命令,只提供单个Node的主机和端口,自动检测集群Node并给出所有数据?目前通过遍历所有Node进行了临时修复。 最佳答案 具体如何操作取决于您使用的客户端。一般redis使用XModemCRC16算法来判断key存放在哪里,查看源码:https://github.com/h0x91b/fast-redis-cluster/blob/remake/index.js#L92:L175要知道key实际存储在哪里,您应该计算key名称的xmodemcrc16,然后取模数16384。结果是bucketnumber,现

node.js - 注册和 req.user.roles 后 SEAN.js 自动登录

我目前使用sean.js在一个项目上。一切看起来都不错,但我对注册过程有疑问。我最近在我的路由上实现了后端策略,以根据用户的角色向他们授予权限,如下所示:exports.invokeRolesPolicies=function(){acl.allow([{roles:['myRole'],allows:[{resources:'/some-route',permissions:'*'}]}]);};exports.isAllowed=function(req,res,next){varroles=(req.user)?req.user.roles:['guest'];//Ifanper

node.js - Node child_process 没有将所有内容写入标准输出

我正在尝试使用child_process模块中Node的spawn/exec函数。但我注意到我在真实终端和命令行中看到的内容之间存在奇怪的差异。这是一个例子:终端:$redis-cli127.0.0.1:6379>hmsethashnameJackage33OK127.0.0.1:6379>hscanhash01)"0"2)1)"name"2)"Jack"3)"age"4)"33"在node.js中:constchild=exec("redis-cli");child.stdin.setDefaultEncoding("utf-8");child.stdout.on("data",da

node.js - 在 hapi.js 中缓存对外部 Web 服务的响应

我在hapi.js中构建一个网络应用程序。我对hapi.js很陌生,所以可能没有正确遵循框架。但这是我打算做的。创建一个hapi路由,它将使用其中一个路由参数对外部主机进行一系列Web服务调用。这些调用需要按顺序进行。我目前正在使用axios进行调用并将它们链接起来.then().then()等我想将这些响应缓存到redis存储。我阅读了使用catbox和hapi“server.methods”功能的hapi缓存示例,但不确定如何将它们应用于我目前拥有的基于promise的调用链。是不是我的想法有问题。 最佳答案 Catboxhap

node.js - 命名参数不使用 Koa 2 在 Node 中路由

我查看并遵循了以下指南:https://github.com/koajs/koahttps://github.com/alexmingoia/koa-routerhttps://github.com/saadq/koa-combine-routers/tree/next尝试使用命名参数时,我得到404NotFound。我错过了什么?服务器.jsconstKoa=require('koa');constrouter=require('./routes');constapp=newKoa()app.use(router);app.listen(8080);module.exports=ap

node.js - 无法在Windows机器上制作redis

我正在尝试在我的nodejs项目中使用redis。我看到要构建redis,您需要make命令和gcc。我在我的Windows机器上安装了cygwin,然后安装了make和gcc。我从这里下载了redishttps://redis.io/download并按照说明-$wgethttp://download.redis.io/releases/redis-3.2.8.tar.gz$tarxzfredis-3.2.8.tar.gz$cdredis-3.2.8$make我正在尝试做同样的事情,但在构建它时遇到了一些问题。这是日志:-D:\Node.JS\redis-3.2.8>makecdsr

node.js - 用于 Node 读取扩展的 Redis 复制

我想使用Redis复制(“主从”)作为实现读取可扩展性的一种方式。从我从文档中收集到的信息,我可以将我的读取分配给许多奴隶——而我只能写给主人。我正在使用node,有两个库可用于连接到redis:ioredis和node-redis。我无法理解如何设置其中的任何一个来进行拆分阅读,所以我不知道这是否透明(我猜不是)或者这些库是否都不能做到这一点。 最佳答案 你最好使用rediscluster,因为它会自动负责分片和分配负载,为您提供良好的future水平可扩展性。ioredisdoessupportredis集群,node-redi

arrays - 在 Node js中缓存对象数组

我有一个学校社交网络,每所学校都有许多学生可以在其中发布的仪表板,因为我不想每次学生想要查看仪表板时都去数据库我想建立一个学校的缓存系统,一开始我创建了一个模块,它创建一个HashMap来保存学校对象,在每个学校对象中,我有一个类似的仪表板HashMap,并且在每个仪表板中都有相同的HashMap来保存Post对象(我不知道这是一种常见的方式还是完全可以接受的方式),最近在寻找另一种方法时,我读到了有关redis的信息,它是内存中的键值存储系统。我的问题:是否有可能在Redis(因为它是一个键值存储系统)或什至任何其他缓存模块中实现我想要的,或者只是坚持我手头的东西?提前致谢

node.js - 每日特定时间自动运行功能

我正在做一个关于CMS系统的学校项目,以帮助运营我的学校网站。它使用3个数据库:MongoDB(头部数据库,存储所有信息)Redis(存储网站菜单)Elasticsearch(商店帖子)目前我在插入/编辑/删除数据时,也会插入/编辑/删除到相关的数据库中。但是我的导师要我写一个函数,让系统在特定时间(用户可以选择时间)在这3个数据库之间自动同步数据。我的服务器使用NodeJS来运行,这个需求对我来说是新的,以前从未听说过。我的新方法是:向数据库字段添加1个标志选择所有包含flag==true的行。同步数据但我不知道如何在特定时间自动运行上述功能。我希望你们能帮助我优化我的新流程并解决同

node.js - 如何在express-request-proxy Node 包中添​​加Redis配置

我正在使用“express-request-proxy”Node包为HTTP请求添加代理。我启用了Redis缓存,它在我的本地服务器上运行良好。以下是我如何按照文档(https://github.com/4front/express-request-proxy#caching)中的建议在本地加载Redis包:varredis=require('redis');require('redis-streams')(redis);但是,当我将应用程序推送到云端时,我看到以下错误:Error:Redisconnectionto127.0.0.1:6379failed-connectECONNRE