apcu_add

https://www.php.net/manual/zh/function.apcu-add.php



<?php
$bar = ‘BAR’;
apcu_add(‘foo’, $bar);
var_dump(apcu_fetch(‘foo’));
echo “\n”;
$bar = ‘NEVER GETS SET’;
apcu_add(‘foo’, $bar);
var_dump(apcu_fetch(‘foo’));
echo “\n”;
?>
以上例程会输出:



string(3) “BAR”
string(3) “BAR”



注意,直接命令行运行,会每次清掉apcu 缓存的需要服务器方式运行

Example #1 启动Web服务器 服务于当前目录



$ php -S localhost:8000



Example #2 启动时指定根目录
$ php -S localhost:8000 -t foo/



Example #3 使用路由(Router)脚本
$ php -S localhost:8000 router.php



php apcu 扩展安装




  1. http://pecl.php.net/get/apcu-4.0.11.tgz

  2. tar zxvf apcu-4.0.11.tgz

  3. cd apcu-4.0.11

  4. yum install pcre-devel

  5. phpize

  6. ./configure –with-php-config=/usr/bin/php-config

  7. make && make install

  8. 配置php.ini
    extension = apcu.so
    apc.enabled= on
    apc.shm_size= 64M
    apc.enable_cli = on

  9. 重启apache服务器或者fpm



apcu_add -数据存储中缓存的新变



apcu_cache_info -检索缓存的信息从APCu的数据存储 获取数据存储列表(不会返回value),只有定义值的信息



apcu_cas更新旧值和新值



apcu_clear_cache -清除缓存的



apcu_dec -减少存储的值(必须数值型)



apcu_delete -删除存储变量从缓存



apcu_entry -自动读取或生成一个缓存条目



apcu_exists -检查项目存在



apcu_fetch从缓存取存储变量



apcu_inc增加存储的值(必须数值型)



apcu_sma_info -检索高招共享内存分配信息



apcu_store -数据存储区中的缓存变量



https://www.jianshu.com/p/72cfa22d76d9



说明
public void APCUIterator::next ( void )
Moves the iterator pointer to the next element.



参数
此函数没有参数。



返回值
成功时返回 TRUE , 或者在失败时返回 FALSE 。



参见
APCUIterator::current() - Get current item
APCUIterator::rewind() - Rewinds iterator
Iterator::next() - 向前移动到下一个元素



https://www.php.cn/manual/view/415.html
https://php.golaravel.com/class.apcuiterator.html



https://www.php.net/manual/es/apcuiterator.key.php



https://www.php.net/apcuiterator



    foreach (new \APCUIterator('/^' . ApcuStateStorage::CACHE_PREFIX . '/') as $counter) {
// APCU entries do not expire within one request context so we have to check manually:
if ($counter['creation_time'] + $counter['ttl'] < time()) {
continue;
}

$expressionToExtractCommandKey = '/^' . ApcuStateStorage::CACHE_PREFIX . '(.*)_(?:.*)_(?:[0-9]+)$/';
preg_match($expressionToExtractCommandKey, $counter['key'], $match);


Category php