我的路线设置如下
当我导航到' 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) 我正在使用节点缓存来创建本地缓存,但是,我遇到的问题是,当将应用程序与创建应用程序集群的 PM2 一起使用时,缓存会被创建多次,每个进程一个 - 这并不算太多由于缓存的数据很小,因此内存不是问题,因此存在问题。
真正的问题是,我对应用程序进行了 API 调用来刷新缓存,但是当调用此 API 时,它只会刷新处理该调用的特定进程的缓存。
有没有办法通知所有工作人员执行某项功能?
我确实考虑过使用 Redis 来缓存,因为这样可以更简单地只拥有一个缓存,我使用 Redis 的问题是我不确定扩展它的最佳方法,我目前有 50 个应用程序,并且不会不想为每个应用程序设置一个新的 Redis 数据库,另一种方法是使用ioredis,它为每个应用程序提供透明的密钥前缀,但如果一个应用程序意外地从其他客户端应用程序读取数据,这可能会导致一些安全漏洞 -我不相信有一种方法可以删除特定前缀(即一个应用程序/客户端)的所有键,因为 FLUSHALL 将删除所有键
共享集群节点实例缓存的最佳实践是什么,但在应用程序也有许多实例的情况下 - 想想 SAAS 应用程序。
目前,我解决此问题的方法是使用 node-cron 每 15 分钟清除一次缓存,但是,缓存中的某些项目实际上永远不会更改,并且还有其他项目应该在外部工具后立即更新通过 API 调用向应用程序发出信号以刷新缓存
我有一个带有文件名列表的字符串,例如
var string ='1.jpg,2.jpg,3.png,4.jpg,5.webp'
有没有一种方法可以删除所有不以.jpg结尾的内容,因此输出如下所示:
var newstring ='1.jpg,2.jpg,4.jpg'