小编Tam*_*lik的帖子

node-express太多重定向

我的路线设置如下

当我导航到' http:// localhost / '时,我收到一条错误,说'localhost重定向了你太多次',页面的URL(显示在浏览器的URL栏中)是http:// localhost /!/仪表板 - 所以它确实看起来像是被重定向,但我不明白为什么它会陷入无限循环

 // Public Routes
 app.use('/', function(req,res){
      res.redirect('/!/dashboard');
 });
 app.use('/login', routes.login);
 app.use('/!/dashboard', isLoggedIn, routes.dashboard);

// Check If Logged In
function isLoggedIn(req,res,next){
    if (req.isAuthenticated()){
      return next();
    } else {
      res.redirect('/login');
    }
};
Run Code Online (Sandbox Code Playgroud)

node.js express

5
推荐指数
1
解决办法
6139
查看次数

Node.js 集群共享缓存

我正在使用节点缓存来创建本地缓存,但是,我遇到的问题是,当将应用程序与创建应用程序集群的 PM2 一起使用时,缓存会被创建多次,每个进程一个 - 这并不算太多由于缓存的数据很小,因此内存不是问题,因此存在问题。

真正的问题是,我对应用程序进行了 API 调用来刷新缓存,但是当调用此 API 时,它只会刷新处理该调用的特定进程的缓存。

有没有办法通知所有工作人员执行某项功能?

我确实考虑过使用 Redis 来缓存,因为这样可以更简单地只拥有一个缓存,我使用 Redis 的问题是我不确定扩展它的最佳方法,我目前有 50 个应用程序,并且不会不想为每个应用程序设置一个新的 Redis 数据库,另一种方法是使用ioredis,它为每个应用程序提供透明的密钥前缀,但如果一个应用程序意外地从其他客户端应用程序读取数据,这可能会导致一些安全漏洞 -我不相信有一种方法可以删除特定前缀(即一个应用程序/客户端)的所有键,因为 FLUSHALL 将删除所有键

共享集群节点实例缓存的最佳实践是什么,但在应用程序也有许多实例的情况下 - 想想 SAAS 应用程序。

目前,我解决此问题的方法是使用 node-cron 每 15 分钟清除一次缓存,但是,缓存中的某些项目实际上永远不会更改,并且还有其他项目应该在外部工具后立即更新通过 API 调用向应用程序发出信号以刷新缓存

caching redis node.js pm2 node-cluster

5
推荐指数
1
解决办法
3044
查看次数

使用JS从字符串中删除

我有一个带有文件名列表的字符串,例如

var string ='1.jpg,2.jpg,3.png,4.jpg,5.webp'

有没有一种方法可以删除所有不以.jpg结尾的内容,因此输出如下所示:

var newstring ='1.jpg,2.jpg,4.jpg'

javascript regex

-1
推荐指数
1
解决办法
52
查看次数

标签 统计

node.js ×2

caching ×1

express ×1

javascript ×1

node-cluster ×1

pm2 ×1

redis ×1

regex ×1