Memcache*d

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ваш кэш Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅" ΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ memcache ΠΈΠ»ΠΈ memcached, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ½ Ρƒ вас Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Ссли ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

<?php

$driver = Core::$mainConfig['defaultCache'];
$aConfig = Core::$config->get('core_cache', array());
$config = $aConfig[$driver];

if($driver == 'memcache')
{
    if(extension_loaded('memcache'))
    {
        $memcache = new Memcache();
        $memcache->connect($config['server'], $config['port']);
        
        $return = $memcache->set('TEST', 123, MEMCACHE_COMPRESSED, 120);
        $message = ($return ? 'SUCCESS' : 'ERROR');
        echo $message . "<br />";
        
        print_r($memcache->getStats());
        echo "<br />";
    }
    else
    {
        echo "Memcache not available!<br />";
    }
}
elseif($driver == 'memcached')
{
    if(extension_loaded('memcached'))
    {
        $memcached = new Memcached();
        $memcached->addServer($config['server'], $config['port']);
        
        $memcached->set('TEST', 123, 120);
        $message = $memcached->getResultMessage();
        
        echo $message . "<br />";
        
        print_r($memcached->getStats());
        echo "<br />";
    }
    else
    {
        echo "Memcached not available!<br />";
    }
}

Если Π²Ρ‹ НЕ Π²ΠΈΠ΄ΠΈΡ‚Π΅ SUCCESS Π·Π½Π°Ρ‡ΠΈΡ‚ запись Π² кэш Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, соотвСтствСнно ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρƒ вас Π½Π° сайтС Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ SUCCESS Ρ‚ΠΎ Π² статистикС стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° значСния:

limit_maxbytes - ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм памяти, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Memcache*d ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (для ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 128 Мб)

evictions β€” ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° для размСщСния Ρ‚Π°ΠΌ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΎΠ½ стал большим ΠΈ всС врСмя растСт, Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС памяти ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ большС памяти для сСрвиса Memcache*d. get_hits - сколько Ρ€Π°Π· ΠΌΡ‹ взяли Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша. get_misses - сколько Ρ€Π°Π· ΠΌΡ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Π²Π·ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша, Π½ΠΎ Π΅Π³ΠΎ Ρ‚Π°ΠΌ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈΠ»ΠΈ врСмя ΠΆΠΈΠ·Π½ΠΈ кэша истСкло. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ get_misses/get_hits ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ использования кэша. Π§Π΅ΠΌ ΠΎΠ½ΠΎ мСньшС, Ρ‚Π΅ΠΌ эффСктивнСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ кэш. Если Ρƒ вас get_misses/get_hits >= 1, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ (скорСС всСго ставитС слишком ΠΌΠ°Π»ΠΎΠ΅ врСмя ΠΆΠΈΠ·Π½ΠΈ кэша).

ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 1 Мб, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ слСдуСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρƒ вас Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² кэш, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· Ρ…ΡƒΠΊ Core_Cache.onAfterSet

Last updated