Рейтинг: 8  
Новая
Предложил Валерий Чебан 15.10.2019 17:55:47

Уйти от использования serialized-строк в БД, использовать JSON

Часто сталкиваюсь с не-возможностью unserialize данных после смены кодировки в БД.
Чтобы хранение сделать более переносимым лучше использовать для хранения JSON вместо serialized-строк.

PS последняя проблема была в таблице b_seo_search_engine поле SETTINGS
Рейтинг: 2.0129  
Новая
Предложил Валерий Чебан 03.07.2015 19:21:26

Кеш: добавить произвольную серриализацию

сделать возможным указывать свой режим сериализации, отличный от стандартного serialize() --> unserialize()


Еще по теме:

apc_store() - позволяет хранить переменную. Сама функция серриализует данные.
Можно подключить igbinary и указать apc.serializer=igbinary

при этом apc_store() будет использовать серриализатор igbinary (а не стандартный)

В коде главного модуля сейчас зашито:
$arAllVars = serialize($arAllVars);
apc_store($baseDirVersion."|".$initDirVersion."|".$filename, $arAllVars, intval($TTL));
Поэтому настройка apc.serializer=igbinary просто игнорируется.
Нужно это убрать.

К, примеру, memcached этого недостатка лишен, и можно указать memcached.serializer = igbinary, и в ядре не происходит предварительной серриализации массива стандартной функцией serialize()