代码之家  ›  专栏  ›  技术社区  ›  Rafael de Castro

关于内存:在服务上存储json数据,还是在需要时随时获取?

  •  0
  • Rafael de Castro  · 技术社区  · 2 年前

    我有一个离子/角度测试应用程序,使用。提供一系列问题的json文件。

    在游戏开始之前,我会回答这些问题,并完成应用程序固有的逻辑。比如随机化问题等等。

    用户一次只能看到一个问题。 我正在使用一个id参数为(问题id)的组件。

    {
        path: `question:id`,
        loadChildren: () => import('path.to.module').then( m => m.Module)
    },
    
    

    因此,当用户转到下一个问题时,我会获取id并向用户显示新问题。

    我的疑问是: 就内存而言,因为这个json相对较大。我想知道是否最好只获取一次该文件并将其存储在服务中,或者每次加载问题页面组件时都获取该文件,然后执行“魔术”。

    顺便说一句,请不要担心随机过程背后的逻辑,等等。 我在这里做作业:D Thnx

    1 回复  |  直到 2 年前
        1
  •  2
  •   Zze    2 年前

    就内存而言,这可能并不重要,因为浏览器会立即缓存这些内存 .json 在第一个请求之后,它将在会话期间驻留在那里,这使得文件加载时间更快。

    这里关注的是反序列化 .json 将文件放入一个对象中。您可以每次加载、反序列化和提取一个问题,但是反序列化一个大型对象非常耗时,我建议在应用程序运行时开始时只执行一次。

    仔细想想,不管什么时候反序列化,总内存消耗量都是一样的 .json 文件大小不变。

    另一个因素是 memory pressure 这可能是一个考虑因素,取决于您要部署到的SOE。