将数据持久保存在内存中

keep data in memory persistently

我想编写一个 Python 脚本,它将 2 GB 的数据从硬盘加载到内存中,然后每当其他程序请求时,它必须获取输入并根据这些数据进行一些计算输入。对我来说重要的是将这 2 GB 数据持久保存在内存中以加快计算速度,更重要的是避免巨大的 I/O 负载。

如何将数据永久保存在内存中?或者更一般地说,我应该如何解决 Python 中的此类问题?

根据您拥有的数据类型,您可以将数据保存在 Python 列表、集合、哈希图或任何其他数据结构中。如果这只是一个缓存,您也可以使用像 Redis 或 memcached 这样的服务器。

将数据“永远”加载到内存或每次需要时都加载数据并没有什么特别之处。您可以只加载到 Python 个变量中并保留它们。

确保您有 2GB 的可用 RAM,然后使用 mmap 模块 (https://docs.python.org/3/library/mmap.html) 将整个数组映射到活动内存中。