繁体   English   中英

在中间件中保留要缓存的环回 4 应用程序中的请求的服务器对象

[英]Preserving server objects over requests in a loopback 4 app to cache, within a middleware

我有一个内置于 loopback4 的应用程序,这是一个用于构建 REST Api 的 nodejs 框架。 在该应用程序中,我想缓存各种 jwt 令牌发行者的公共证书,以免在每个 api 调用中都请求这些证书。 我的问题是序列,每个中间件都会在每个请求中获得一个新实例。 虽然我可以使用 redis 之类的东西,但我想知道是否可以在没有额外服务的情况下实现类似的效果。 我看不到任何可能从持续时间超过单个请求的应用程序中提交 object,有什么想法吗?

我假设这同样适用于执行 memory 缓存的快速中间件

我通过创建在 application.ts 中创建到应用程序的缓存服务解决了这个问题:

import {CacheService} from './caching/cacheservice.service';
import {CacheServiceBindings} from './caching/keys';
[..]
this.add(createBindingFromClass(CacheService, {key: CacheServiceBindings.CACHE}));

并将其注入到 sequence.ts 构造函数中:

@inject(CacheServiceBindings.CACHE) protected cache: CacheService,

这样我就可以使用这个 object 来保持整个应用程序的生命周期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM