apcu_entry

(PECL apcu >= 5.1.0)

apcu_entry Atomically fetch or generate a cache entry

Beschreibung

apcu_entry(string $key, callable $generator, int $ttl = 0): mixed

Atomically attempts to find key in the cache, if it cannot be found generator is called, passing key as the only argument. The return value of the call is then cached with the optionally specified ttl, and returned.

Hinweis: When control enters apcu_entry() the lock for the cache is acquired exclusively, it is released when control leaves apcu_entry(): In effect, this turns the body of generator into a critical section, disallowing two processes from executing the same code paths concurrently. In addition, it prohibits the concurrent execution of any other APCu functions, since they will acquire the same lock.

Warnung

The only APCu function that can be called safely by generator is apcu_entry().

Parameter-Liste

key

Identity of cache entry

generator

A callable that accepts key as the only argument and returns the value to cache.

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

Rückgabewerte

Returns the cached value

Beispiele

Beispiel #1 An apcu_entry() example

<?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);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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"
  }
}

Siehe auch

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Welche Unterschiede gibt es zwischen Plinko und ähnlichen Spielen?

In diesem Forum vergleichen Spieler verschiedene Casinospiele hinsichtlich Mechanik, Spannung und Gewinnchancen. Erfahrungen, Meinungen und Analys ...

Geschrieben von rashelahmed am 03.01.2026 19:30:22
Forum: Off-Topic Diskussionen
Wie kann ich eine effiziente Batch-Verarbeitung in PHP mit PDO umsetzen?

For efficient batch processing with PDO, avoid OFFSET on large tables and instead batch by an indexed column (e.g. WHERE id > :lastId LIMIT 1000). ...

Geschrieben von smithjohns am 03.01.2026 09:09:17
Forum: PHP Developer Forum
Überhang in MySql Datenbank

Interesting MySQL issue! Seeing an 'Überhang' (overflow) record when your table is supposedly empty is definitely puzzling. First, try optimizing ...

Geschrieben von 6873marios am 02.01.2026 09:45:40
Forum: SQL / Datenbanken
SESSION werden nicht übergeben

Hmm, komisch, dann muss ich mal weiter forschen, denn rein logisch gesehen sollte das einwandfrei funktionieren. Danke trotzdem für deine Unterst ...

Geschrieben von I_am_Paul am 31.12.2025 14:28:03
Forum: PHP Developer Forum