是否可以将 python(或 C++)数据存储在 RAM 中供以后使用,如何实现?
背景: 我编写了一个程序来查找输入表中的哪些行与给定的正则表达式匹配。我可以在大约一秒或更短的时间内找到所有线条。然而,问题是每次启动这个程序时,我都会将输入表处理成一个 python 对象。此过程大约需要 30 分钟。
该程序最终将在内存超过 128GB 的机器上运行。 python 对象占用大约 2GB 的 RAM。输入表很少更改,因此 python 对象(我目前每次都在重新计算)实际上很少更改。有没有一种方法可以让我一次创建这个 python 对象,将它存储在 RAM 24/7 中(如果输入表更改或服务器重新启动则重新创建)然后每次需要时都使用它?
注意:python 对象在创建后不会被修改。但是,如果需要,我需要能够重新创建此对象。
编辑:我唯一能想到的解决方案就是让程序保持 24/7 运行(作为守护进程??),然后根据需要向它发出命令。
最佳答案
要在 RAM 中存储任何内容,您需要一个正在运行的进程。因此,最简单的解决方案是实现您在编辑中编写的内容。您还可以创建一个始终运行的新进程,让旧进程连接到新进程以获取数据。您如何连接取决于您。您可以使用共享内存或 TCP/IP 套接字。 TCP/IP 的优点是可以通过网络访问数据,但请确保数据安全。
--编辑--
大多数操作系统还允许您安装一 block RAM 作为驱动器。 RAM drive .您可以将对象写入(如 Neil 建议的那样)。
关于c++ - 将大型 python 对象存储在 RAM 中供以后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13906679/