Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么可以';您不能使用存储在内存结构中的数据构建RESTful API吗?_Javascript_Python_Rest - Fatal编程技术网

Javascript 为什么可以';您不能使用存储在内存结构中的数据构建RESTful API吗?

Javascript 为什么可以';您不能使用存储在内存结构中的数据构建RESTful API吗?,javascript,python,rest,Javascript,Python,Rest,我正在学习如何构建API,以便能够在客户机中进行简单的交互式数据可视化,并使用get请求提取数据。我使用的数据源大约是12mb,所以我想我应该把它放在后端,并根据需要发出请求 我不需要放置或删除,只需要获取。找到了很多资源,展示了如何使用Python或Node制作非常简单的API,例如,但在本指南中,Miguel Grinburg说您还需要一个数据库: 代替数据库,我们将任务列表存储在内存结构中。这仅在运行我们的应用程序的web服务器是单进程和单线程的情况下才起作用。这对于Flask自己的开发w

我正在学习如何构建API,以便能够在客户机中进行简单的交互式数据可视化,并使用get请求提取数据。我使用的数据源大约是12mb,所以我想我应该把它放在后端,并根据需要发出请求

我不需要放置或删除,只需要获取。找到了很多资源,展示了如何使用Python或Node制作非常简单的API,例如,但在本指南中,Miguel Grinburg说您还需要一个数据库:

代替数据库,我们将任务列表存储在内存结构中。这仅在运行我们的应用程序的web服务器是单进程和单线程的情况下才起作用。这对于Flask自己的开发web服务器来说是可以的。在生产web服务器上使用此技术是不合适的,因为必须使用正确的数据库设置


这完全是真的吗?在内存结构中存储数据的后果是什么?我也不完全理解他所说的“单线程”和“单进程”是什么意思

不,严格来说这不是真的,如果整个数据集只有12mb,那么将其保存在内存中不是问题,但您还必须将其存储在其他地方,例如文件中,以便在服务器崩溃时可以再次加载它(而且会)。如果将其存储在内存中,您必须安排所有服务器进程才能访问该内存。就像@adeneo所说的,你必须在崩溃时保存它。就协议而言,如何实现服务器并不重要。“这主要是一个实用性的问题。”阿德内奥,是的,把它保存在一个文件中是没有问题的。我的想法是后端将读取文件并将其解析为不同的块,然后在不同的路径上提供这些块。如果我的服务器内存中有一个12mb的文件,我的服务器是否更有可能崩溃?或者你只是说崩溃通常是不可避免的,所有服务器都会崩溃,或者在某个时候关闭,你必须能够在Web服务器启动时将数据加载到内存中,但它不会崩溃,因为你在内存中存储了一些东西。从内存中获取数据速度很快,而且数据库会将数据存储在磁盘或内存中,它只是将持久性抽象出来,使数据查询更容易,但直接在节点中存储12mb对象可能与您获得数据的速度一样快,如果你想这样做,这是可行的,也不是问题。@user1502186内存的性能将非常好。我的意思是,实现基于内存的服务器会更加困难,因为大多数现有软件都不是围绕这种体系结构设计的。因此,您必须从头开始创建数据集,而不是使用现成的解决方案。不,严格来说,这不是真的,如果整个数据集只有12mb,将其保存在内存中不是问题,但您还必须将其存储在其他地方,例如在文件中,以便在服务器崩溃时可以再次加载它(而且会)。如果将其存储在内存中,则必须安排所有服务器进程才能访问该内存。就像@adeneo所说的,你必须在崩溃时保存它。就协议而言,如何实现服务器并不重要。“这主要是一个实用性的问题。”阿德内奥,是的,把它保存在一个文件中是没有问题的。我的想法是后端将读取文件并将其解析为不同的块,然后在不同的路径上提供这些块。如果我的服务器内存中有一个12mb的文件,我的服务器是否更有可能崩溃?或者你只是说崩溃通常是不可避免的,所有服务器都会崩溃,或者在某个时候关闭,你必须能够在Web服务器启动时将数据加载到内存中,但它不会崩溃,因为你在内存中存储了一些东西。从内存中获取数据速度很快,而且数据库会将数据存储在磁盘或内存中,它只是将持久性抽象出来,使数据查询更容易,但直接在节点中存储12mb对象可能与您获得数据的速度一样快,如果你想这样做,这是可行的,也不是问题。@user1502186内存的性能将非常好。我的意思是,实现基于内存的服务器会更加困难,因为大多数现有软件都不是围绕这种体系结构设计的。因此,您必须从头开始创建,而不是使用现成的解决方案。