我正在构建一个基于 python 的 Web 服务,它为我们的主应用程序 API 提供自然语言处理支持。由于它是如此繁重的 NLP,它需要从磁盘中提取一些非常大的 (50-300MB) 语料库文件,然后才能进行任何类型的分析。
如何将这些文件加载到内存中,以便它们可用于每个请求?我尝试了 memcached 和 redis,但它们似乎是为更小的对象设计的。我也一直在尝试使用 Flaskg
对象,但这只会在一个请求中持续存在。
在使用 gevent (或其他)服务器允许并发连接时,有什么方法可以做到这一点?语料库是完全只读的,因此应该有一种安全的方式将内存暴露给多个greenlets/threads/processes。
非常感谢,如果这是一个愚蠢的问题,我很抱歉——我使用 python 已经有一段时间了,但我对网络编程还比较陌生。