APC User Cache

Коментарии

To use apcu, the apcu extension has to be installed. You can find it here https://pecl.php.net/package/APCu

Note: apcu is not the same as apc! 

APCu is the official replacement for the outdated APC extension. APC provided both opcode caching (opcache) and object caching. As PHP versions 5.5 and above include their own opcache, APC was no longer compatible, and its opcache functionality became useless. The developers of APC then created APCu, which offers only the object caching (read "in memory data caching") functionality (they removed the outdated opcache).

Wondering how to use apcu? The following example should give you a basic understanding.

<?php

date_default_timezone_set
('Europe/Amsterdam');

$apcuAvailabe function_exists('apcu_enabled') && apcu_enabled();

if(
$apcuAvailabe)
{
   
//apcu_clear_cache();
   
   
$test1 apcu_fetch('test1');
   
$test2 apcu_fetch('test2');
}

$test1[] = rand(11000);
$test2[] = rand(11000);

if(
$apcuAvailabe)
{
   
apcu_store('test1'$test1);
   
apcu_store('test2'$test2);
}

echo 
sprintf('current - value = %s<br/>'implode(' ,'$test1));
echo 
sprintf('current - value = %s<br/>'implode(' ,'$test2));

$aPCUIterator = new APCUIterator();

echo 
sprintf('totalCount = %s<br/>'$aPCUIterator->getTotalCount());
//echo sprintf('totalHits = %s<br/>', $aPCUIterator->getTotalHits()); // Not implemneted/available?
echo sprintf('totalSize = %s<br/>'$aPCUIterator->getTotalSize());

echo 
'----------------------------------<br/>';

$aPCUIterator->rewind();
echo 
sprintf('key = %s<br/>'$aPCUIterator->key());
echoCurrent($aPCUIterator->current());
$aPCUIterator->next();

echo 
'----------------------------------<br/>';

echo 
sprintf('key = %s<br/>'$aPCUIterator->key());
echoCurrent($aPCUIterator->current());
echo 
sprintf('valid = %s<br/>'$aPCUIterator->valid() ? 'true' 'false');

function 
echoCurrent($current)
{
   
    echo 
sprintf('current - type = %s<br/>'$current['type']);
    echo 
sprintf('current - key = %s<br/>'$current['key']);
    echo 
sprintf('current - value = %s<br/>'implode(' ,'$current['value']));
   
//echo sprintf('current - num_hits = %s<br/>', $current['num_hits']); // Not implemneted/available?
   
echo sprintf('current - mtime = %s<br/>'date("d-m-Y H:i:s"$current['mtime']));
    echo 
sprintf('current - creation_time = %s<br/>'date("d-m-Y H:i:s"$current['creation_time']));
    echo 
sprintf('current - deletion_time = %s<br/>'date("d-m-Y H:i:s"$current['deletion_time']));
    echo 
sprintf('current - access_time = %s<br/>'date("d-m-Y H:i:s"$current['access_time']));
   
//echo sprintf('current - ref_count = %s<br/>', $current['ref_count']); // Not implemneted/available?
   
echo sprintf('current - mem_size = %s<br/>'$current['mem_size']);
   
//echo sprintf('current - ttl = %s<br/>', $current['ttl']); // Not implemneted/available?
}

?>
2020-05-29 13:55:24
http://php5.kiev.ua/manual/ru/book.apcu.html

    Поддержать сайт на родительском проекте КГБ