我即将启动的 PHP Web 应用程序将占用大量内存。
如何设置限制以告诉它在达到某个点时停止?什么是好的限制?
它占用大量内存,因为它是递归的,但我限制了它可以从初始调用之一进行多少递归调用。
但是,我仍然想要一个内存上限。我怎样才能做到这一点?
我可以在用户机器上而不是在服务器上使用任何类型的本地存储吗?还是这样做不合适?
更新:我的大部分问题都在第一个答案中得到了解答,但我仍然想知道如何在 PHP 中设置内存限制。
这个问题的正确答案取决于您对需求的描述。说你的应用程序是递归的是非常通用的,并没有告诉我们很多关于你想要实现的目标。
就个人而言,我会接收用户输入,如果我知道对用户的响应将是大量数据,我会确保我的服务器在独立于 API 请求的处理队列中完成所有繁重的工作。用户不必等待很长时间才能得到响应。因此,您让后端处理此递归方法并将结果存储到缓存文件中,或缓存块并将它们以块的形式提供给用户。
这是非常通用的,但由于我们并不真正知道您的实际目标是什么,所以我只能说它。
随时更新您的问题的具体细节,也许我会更新我的答案以更好地满足您的需求。
是的,您可以为用户存储在本地。查看 html5 本地存储。请参阅此答案:localstorage 是否是此 webapp 的正确选择? 将网络应用程序存储在本地是很常见的,这样应用程序就可以离线运行或在服务质量差的地区运行。想想服务通常很差或不可用的会议中心或大型结构。仅当您愚蠢地尝试以易于访问的方式存储私人数据时,不适当才适用。否则,这只是使用您的应用程序所带来的。