PHP: размер Меры в килобайтах объекта/массива?

  • Что такое соответствующий способ меры, PHP возражает фактическому размеру в байтах/килобайты?
  • Причина выяснения:
    Я использую memcached для устройства хранения данных кэша в моем веб-приложении, которое будет использоваться нетехническими клиентами. Однако, так как memcached имеет максимальный размер 1 МБ, было бы замечательно иметь функцию, настроенную с начала, которое я могу использоваться, чтобы измерить размер выбранных объектов/массивов/наборов данных, препятствовать тому, чтобы они вырастили к большому.

    Обратите внимание, что я - только планирование использования этого как предупреждение/инструмент диагностики для отслеживания производительность кэша и возможности устройства хранения данных со временем. Я предполагаю, что вычисление скорости на каждом memcached устанавливало/добавляло вызов, замедлил бы вещи немного.

    Я также знаю о хранении больших наборов данных в memcached, устраняет всю эту мысль сохранить вещи в RAM, и это точно, почему я должен знать в заранее для предотвращения клиентов, создающих до больших наборов данных.

    Большое спасибо

19
задан Industrial 18 June 2010 в 19:14
поделиться

1 ответ

Ну, поскольку Memcached не хранит необработанные объекты (на самом деле он хранит версию serialiezd), вы можете сделать следующее:

$serializedFoo = serialize($foo);
if (function_exists('mb_strlen')) {
    $size = mb_strlen($serializedFoo, '8bit');
} else {
    $size = strlen($serializedFoo);
}
31
ответ дан 30 November 2019 в 03:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: