Хотя сжатие, безусловно, является жизнеспособным вариантом, вы также можете рассмотреть просто сериализации меньше.
может быть, что ваши объекты содержат много данных, которые могут быть легко перестраиваются из других данных, они также содержат? Например, если у вас есть атрибуты, которые лениво строятся из других атрибутов (например, используя Moose's lazy
+ builder
или lazy_build
), нет смысла указывать значения этих атрибутов вообще, если перерасчет невероятно дорог. И даже тогда это может стоить рассмотреть, так как чтение большого количества данных с диска также не является самым быстрым.
Если вы обнаружите, что хотите сериализовать только части ваших объектов и по-прежнему хотите использовать Storable, вы можете определить пользовательские привязки и STORABLE_thaw
, как описано в документации Storable.
Однако существуют также альтернативные сериализаторы. MooseX :: Storage является одним из них и, как оказалось, поддерживает многие серверные модули и форматы сериализации, а также может быть легко сказано о том, какие атрибуты сериализуются и которые пропустить для этой цели.
Я, наконец, использовал 'nstore_fd' с файловым дескриптором, открытым слоем ввода-вывода gzip. –