apcu entry
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
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.