PHP APCu

什么是PHP APCu

PHP APCu是php的一個(gè)緩存擴(kuò)展,用戶緩存

安裝APCu擴(kuò)展

使用pecl工具安裝

pecl install apcu

源碼安裝
參考:http://www.itdecent.cn/p/35092c16cd36
php.ini配置參考:https://www.php.net/manual/zh/apcu.configuration.php

相關(guān)函數(shù)

// APCu的數(shù)據(jù)存儲(chǔ)中檢索緩存的信息
apcu_cache_info();

// 檢索APCu共享內(nèi)存分配信息
apcu_sma_info();

// APCu key信息
apcu_key_info();

// 當(dāng)前環(huán)境APCu是否可用
apcu_enabled();

// 設(shè)置一個(gè)緩存,沒(méi)有失效時(shí)間。再次apcu_add()同一個(gè)key,值不會(huì)覆蓋
apcu_add();

// 刪除指定key
apcu_delete();

// 獲取指定key緩存
apcu_fetch();

// 設(shè)置一個(gè)緩存,帶有失效時(shí)間。失效后還會(huì)占用內(nèi)存空間,需使用apcu_delete()才可以徹底刪除。
apcu_store();

// 更新一個(gè)key的值
apcu_cas();

// 自增
apcu_inc();

// 自減
apcu_dec();

// 判斷key是否存在
apcu_exists();

// 以原子方式獲取或生成緩存
apcu_entry();

// 清除全部緩存
apcu_clear_cache();

實(shí)例

<?php
// 添加一個(gè)緩存,沒(méi)有失效時(shí)間。再次apcu_add()同一個(gè)key,值不會(huì)覆蓋
apcu_add("bool", false);
apcu_add("string", "string");
apcu_add("int", 999);
apcu_add("float", 99.99);
apcu_add("array", [1, 2, 3, 4, 5]);

// APCu的數(shù)據(jù)存儲(chǔ)中檢索緩存的信息
var_dump(apcu_cache_info());

// 檢索APCu共享內(nèi)存分配信息
var_dump(apcu_sma_info());

// key信息
var_dump(apcu_key_info("float"));
var_dump(apcu_key_info("string_store"));

// 當(dāng)前環(huán)境apcu是否可用
var_dump(apcu_enabled());

// 刪除指定key
var_dump(apcu_delete("bool"));

// 設(shè)置一個(gè)緩存,失效時(shí)間單位為秒。時(shí)間可選,默認(rèn)永不失效(非重啟)
var_dump(apcu_store("bool_store", FALSE, 5));
var_dump(apcu_store("string_store", "string", 10));
var_dump(apcu_store("int_store", 999, 15));
var_dump(apcu_store("float_store", 99.99, 20));
var_dump(apcu_store("array_store", [1, 2, 3, 4, 5], 25));

// 更新一個(gè)key的值
$old = 1;
$new = 2;
apcu_add("cas", $old);
var_dump(apcu_cas("cas", $old, $new));

// 自增
apcu_add("inc", 1);
$success = false;
var_dump(apcu_inc("inc", 10, $success));
apcu_fetch("inc");
var_dump($success);

// 自減,可以為負(fù)數(shù)
apcu_add("dec", 100);
$success = false;
var_dump(apcu_dec("dec", 10, $success));
apcu_fetch("dec");
var_dump($success);

// 判斷key是否存在,當(dāng)參數(shù)為數(shù)組時(shí)返回?cái)?shù)組,數(shù)組key為APCu緩存的key,值為bool類型true或false
apcu_add("int", 1);
apcu_add("string", "string");
var_dump(apcu_exists("int"));
var_dump(apcu_exists(["int", "string"]));

// 以原子方式獲取或生成緩存
$entry = apcu_entry("entry", function ($key) {
    return ["entry" => "this is entry"];
}, 100);
var_dump($entry);
$success = false;
var_dump(apcu_fetch("entry", $success));
var_dump($success);

// 清除全部緩存
var_dump(apcu_clear_cache());
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、什么是長(zhǎng)連接,長(zhǎng)連接的意義 php 作為 server 對(duì)外提供服務(wù), 每次處理新的請(qǐng)求都會(huì)重頭運(yùn)行一次代碼 ...
    馬六甲的筆記閱讀 844評(píng)論 1 0
  • php 擴(kuò)展主要分為兩類: php模塊擴(kuò)展和zend模塊擴(kuò)展。 php模塊擴(kuò)展 bz2 用于透明地讀寫 bzip...
    Jaxh閱讀 4,785評(píng)論 0 2
  • 環(huán)境 : CentOS 7.7丶Docker 19.03.4丶Nginx 1.17.5丶PHP 7.3.11 安裝...
    x0e閱讀 2,331評(píng)論 0 2
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 2,043評(píng)論 0 3
  • Welcome 目前網(wǎng)絡(luò)上充斥著大量的陳舊信息,讓PHP新手誤入歧途,傳播著錯(cuò)誤的實(shí)踐和糟糕的代碼,這必須得到糾正...
    layjoy閱讀 21,845評(píng)論 7 118

友情鏈接更多精彩內(nèi)容