首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何缓存自动完成建议数据的响应

如何缓存自动完成建议数据的响应
EN

Stack Overflow用户
提问于 2020-06-09 04:03:22
回答 2查看 654关注 0票数 0

我在MongoDB中有一个仿制药数据库,里面有大约3500份文件。我想使用药品名称和品牌名称在自动完成输入字段中的反应网络应用程序。

数据可能如下所示:

代码语言:javascript
复制
{
"_id": {
    "$oid": "5ed9bf1087263e1ef3d65288"
},
"name": "Ethamsylate + Mefenamic acid",
"brands": [
    {
        "name": "STOP-MF",
        "package": "Tablet",
        "strength": " ",
        "price": "120.00"
    },
    {
        "name": "SYLATE-M 500",
        "package": "Tablet",
        "strength": " ",
        "price": "156.00"
    },

],
}

数据不会经常更改,所以我希望在初始加载时将其缓存在客户端。我已经在谷歌上搜索过了。我发现的是:

  1. 为每个新类型的字符发出HTTP请求是错误的。
  2. LocalStorage API易于使用,但数据需要压缩。
  3. IndexedDb提供无限的存储,但是API相当复杂。

我还没有在浏览器中找到很多关于其他存储选项的信息。感谢所有的帮助!

尝试了SWR,但每次我重新加载页面时都会发出HTTP请求,但不能这样做,因为请求需要5-8秒才能获取数据,因此我希望以某种方式在浏览器中本地存储数据

EN

回答 2

Stack Overflow用户

发布于 2020-06-09 04:07:11

你试过swr了吗?它可以帮助您在客户端缓存数据:D

票数 0
EN

Stack Overflow用户

发布于 2020-07-06 21:38:18

为每个新类型的字符发出HTTP请求是错误的。

它并不总是不好的,它取决于您的用例。你会说谷歌搜索实现得不好吗?因为你打字时它会发出请求吗?不完全是。您也可以使用节流阀,并在一定程度上限制请求的数量。但是,如果您需要脱机访问,而且您的DB相对较小,那么当然还有其他选项。

IndexedDb提供无限的存储,但是API相当复杂。

你试过用包装纸包装它吗?就像https://github.com/dfahlander/Dexie.js适合你一样?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62274830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档