NodeJS 如何临时保存数据并快速返回?

niwlg2el  于 2023-01-25  发布在  Node.js
关注(0)|答案(1)|浏览(215)

我正在构建一个简单的express应用程序,它存储来自特定服务器的数据,并根据请求将其发送到frontend
这是我的代码。
index.js

import express from 'express';
import cors from 'cors';
import morgan from 'morgan';
import { routes } from '../routes';

export let cache = {};

const app = express();
app.use(express.urlencoded({ extended: true }));
app.use(express.static('public'));
app.use(cors());
app.use(express.json());
app.use(morgan('tiny'));
app.use('/', routes);
app.disable('x-powered-by');
app.listen(port, () => {
  console.log(`Listening to port ${port}`);
  ... DOING SOMETHING ...
  const result = someFunc();
  cache = result;
});

router.js

... ... ...
routes.get(
  '/cache',
  catchAsync(async (req: Request, res: Response) => {
    const query = req.query?.fields || '';
    const fields = query ? String(query).split(',') : [];
    res.status(200).json(fields.length ? pick(cache, fields) : cache);
  }),
);

这在local上运行良好,但是当我将其部署到Vercel时,它总是返回{}
似乎设置为cacheVercel上不起作用。
我怎样才能实现这一点呢?

z18hc3ub

z18hc3ub1#

推荐的缓存方式是使用Redis这样的内存数据库,你可以从this开始。

相关问题