Вот ситуация: у меня есть массивный объект, который нужно загрузить в память.Настолько большой, что если он будет загружен дважды, он выйдет за пределы доступной памяти на моей машине (и нет, я не могу обновить память).Я также не могу разделить это на более мелкие части.Для простоты, давайте просто скажем, что объект 600 МБ, и у меня есть только 1 ГБ оперативной памяти.Мне нужно использовать этот объект из веб-приложения, которое выполняется в нескольких процессах, и я не контролирую, как они создаются (это делает сторонний балансировщик нагрузки), поэтому я не могу полагаться только на создание объектав некотором главном потоке / процессе, а затем порождая детей.Это также исключает возможность использования чего-то вроде POSH, потому что это зависит от его собственного пользовательского вызова fork.Я также не могу использовать что-то вроде базы данных памяти SQLite, mmap или модулей posix_ipc, sysv_ipc и shm, потому что они действуют как файл в памяти, и эти данные должны быть объектом, чтобы я мог их использовать.Используя один из них, мне пришлось бы прочитать его как файл, а затем превратить его в объект в каждом отдельном процессе и BAM, ошибка сегментации из-за превышения лимита памяти машины, потому что я просто попытался загрузить вторую копию.
Должно быть какое-то место для хранения объекта Python в памяти (а не в виде файла / строки / сериализованного / маринованного) и чтобы он был доступен из любого процесса.Я просто не знаю что это.Я просмотрел все StackOverflow и Google и не могу найти ответ на этот вопрос, поэтому надеюсь, что кто-нибудь мне поможет.