apcu entry

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

apcu_entry

_(PECL apcu >= 5.1.0)_

apcu_entry — Hämtar eller genererar atomärt en cachepost

Beskrivning

apcu_entry(string $key, callable $generator, int $ttl = 0): mixed Försöker atomärt att hitta key i cachen. Om den inte kan hittas anropas generator, med key som enda argument. Returvärdet från anropet cachas sedan med den valfritt angivna ttl och returneras.

Notera: När kontrollen går in i apcu_entry() låses cachen exklusivt och låset släpps när kontrollen lämnar apcu_entry(). Detta gör generatorns innehåll till en kritisk sektion, vilket hindrar två processer från att exekvera samma kodvägar samtidigt. Dessutom förbjuder det samtidig exekvering av andra APCu-funktioner, eftersom de använder samma lås.

Varning: Den enda APCu-funktionen som kan anropas säkert från generator är apcu_entry().

Parametrar

key Identiteten för cacheposten.

generator En callable-funktion som tar key som enda argument och returnerar värdet som ska cachas.

ttl Time To Live; lagra var i cachen i ttl sekunder. Efter ttl har passerat tas den lagrade variabeln bort från cachen (vid nästa förfrågan). Om ingen ttl anges (eller om ttl är 0) kommer värdet att bestå tills det tas bort från cachen manuellt, eller på annat sätt inte längre finns i cachen (rensning, omstart, etc.).

Returvärden

Returnerar det cachade värdet.

Exempel

Exempel #1 Ett exempel på apcu_entry()

<?php
$config = apcu_entry("config", function($key) {
 return [
   "fruit" => apcu_entry("config.fruit", function($key){
     return [
       "apples",
       "pears"
     ];
   }), 
   "people" => apcu_entry("config.people", function($key){
     return [
      "bob",
      "joe",
      "niki"
     ];
   })
 ];
});

var_dump($config);
?>

Ovanstående exempel kommer att ge följande utdata:

array(2) {
  ["fruit"]=>
  array(2) {
    [0]=>
    string(6) "apples"
    [1]=>
    string(5) "pears"
  }
  ["people"]=>
  array(3) {
    [0]=>
    string(3) "bob"
    [1]=>
    string(3) "joe"
    [2]=>
    string(4) "niki"
  }
}

Relaterade Funktioner

  • apcu_store — Cachar en variabel i datalagringsområdet
  • apcu_fetch — Hämtar en lagrad variabel från cachen
  • apcu_delete — Tar bort en lagrad variabel från cachen


Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/function.apcu-entry.php

PHP

Funktioner Funktionsreferens


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp.se som har sponsrat Linux.se med webserver.