Что быстрее Memcache или file_get_contents()

sunyang

Новичок
Собираюсь сохранить большой сериализованный массив.
Потом достать его.

Куда лучше сохранить: в файл и получить при помощи file_get_contents()
или в Memcache ?

Суть вопроса: что быстрее отработает? Каким способом данные заберутся быстрее?
 

Фанат

oncle terrible
Команда форума
никаким.
большой сериализованный массив ВСЕГДА будет медленнее
 

Фанат

oncle terrible
Команда форума
чем всё

большой сериализованный массив вообще хранить не нужно.
так доступнее?
 

Lionishy

Новичок
Всё равно логическая ошибка. Вы же программист.

Не может быть что-то просто медленнее или медленнее, чем что угодно. Может быть только A медленнее, чем B.
 

Lionishy

Новичок
Согласитесь, это другой вопрос. Это вопрос архитектуры приложения.
Вас спрашивают: кто быстрее: Ахилл или Аякс?
Вы отвечаете: зачем им бегать?

"Я же отдам Некту яблоко, хоть он дерись!"(c)
 

Фанат

oncle terrible
Команда форума
Все правильно мы отвечаем.
Здесь не отвечают на вопросы "какая заплатка будет смотреться красивше на кривой архитектуре"
 

Gremboloid

инженера Гр...
Не знавится "Зачем" )))))) зайдем с другой стороны
Почему вы хотите хранить именно сериализованные данные? ведь работа с ними в таком случае будет ужасно медленной.
 

uid

Новичок
Фанат
У меня была точно такая же задача, и в данный момент она решена костылем(генерится php-файл с return array()). В массиве хранятся переводы для строк, все в общей куче, без textdomains. И да, куча известных движков делают точно так же. Подскажете "правильную архитектуру"?
P.S. gettext не предлагать
 

MiksIr

miksir@home:~$
Не знавится "Зачем" )))))) зайдем с другой стороны
Почему вы хотите хранить именно сериализованные данные? ведь работа с ними в таком случае будет ужасно медленной.
Медленной по сравнению с чем? Насколько более медленной?
 

Ярослав

Новичок
sunyang
Используй Memcache для небольших массивов

Для больших, лучше не сериализация, а
PHP:
$o = array('o' => 5);

$filecache = ...

сохраняем
file_put_contents($filecache, '<' . '?php return ' . var_export($o, true));

получаем
$oo = require $filecache;
П.С. Разбил '<' . '?php return ' из-за парсера форума
 
  • Like
Реакции: AmdY

AmdY

Пью пиво
Команда форума
файл и apc лучше. особенно при дебаге.
 

MiksIr

miksir@home:~$
Уже привели варианты, дали обоснование
Это var_export то? Обоснования не вижу. По сути своей тоже сериализация, только восстановление осуществляет не код "unserialize", а синтаксический парсер PHP. По идее должны быть схожие ресурсные затраты, а что-то мне подсказываает, что include будет даже медленее. В минусах имеем так же дополнительные обертки для ловли синтаксических ошибок, засирание кешера опкода, невозможность нормально сериализовать объекты. Так нахрена?
 

Gremboloid

инженера Гр...
MiksIr
т.е. вы утвеждаете что var_export доверять нельзя, потому что он генерит с синтаксическими ошибками, Memcache засирание, а базы данных вообще придумали индусы. хмм...

ТС собирается хранить именно большой сериализованный массив и чтобы потом востанавливать.
Зачем?
 

MiksIr

miksir@home:~$
т.е. вы утвеждаете что var_export доверять нельзя, потому что он генерит с синтаксическими ошибками, Memcache засирание, а базы данных вообще придумали индусы. хмм...

Так нахрена, ТС собирается хранить именно большой сериализованный массив и чтобы потом востанавливать?
Мозговой понос? Соберитесь и сформулируйте вопрос.
 
Сверху