私は、メイン アプリ API に自然言語処理サポートを提供する Python ベースの Web サービスを構築しています。NLP が非常に重いため、何らかの分析を行う前に、いくつかの非常に大きな (50 ~ 300MB) コーパス ファイルをディスクから unpickle する必要があります。
これらのファイルをメモリにロードして、すべてのリクエストで使用できるようにするにはどうすればよいですか? memcached と redis を試してみましたが、それらははるかに小さなオブジェクト用に設計されているようです。Flask オブジェクトも使用しようとしましたg
が、これは 1 回のリクエストでしか持続しません。
gevent (または他の) サーバーを使用して同時接続を許可するときにこれを行う方法はありますか? コーパスは完全に読み取り専用であるため、メモリを複数のグリーンレット/スレッド/プロセスに公開する安全な方法が必要です。
ばかげた質問でしたら、どうもありがとうございました。私はかなり長い間 Python を使用してきましたが、Web プログラミングは比較的新しいものです。