gpt4 book ai didi

node.js - SailsJS 中的 HTTP 请求缓存?

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:05 27 4
gpt4 key购买 nike

我正在使用 SailsJS 为应用程序构建后端,并且必须承受大量相同的请求。

请求由 Sails Controller 端点处理,该端点从数据库获取并处理一些数据,并在响应中发送 JSON 格式的结果。

相同的请求会产生相同的响应,直到数据库发生罕见的更改。

为了减少数据库查询时间,我可以调整数据库引擎缓存(在我的例子中是 MariaDB)。

但是有没有办法将频繁的请求完全缓存在服务器端以排除数据库查询和后续的数据处理?

现有的node.js可以缓存模块,例如node-cache ,与 Sails 一起使用吗?

最佳答案

您的架构急需缓存。您应该使用 redismemcache 。每当发生请求并从数据库获取数据时,您都将其插入到 Redis 中并将响应发送到客户端。下次发生此类请求时,您的服务器将首先查找 Redis,如果找到数据,它将返回从 Redis 获得的响应,而不是从数据库中查询(我们称之为缓存命中)。如果数据不驻留在 Redis 中,您将查询数据库,但这里有一个问题。问题是您不会直接将响应返回给客户端,而是先将其放入缓存中,然后再返回响应(这称为缓存未命中)。 Redis和memcache等都是内存存储。从缓存中获取数据的成本比从数据库中获取数据要低得多。关于这个主题还有进一步的讨论,但它们将使我们超出范围。

祝你好运。希望能帮助到你。尝试让我们知道。

关于node.js - SailsJS 中的 HTTP 请求缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51291098/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com