PHP.nl

apcu_entry

apcu_entry

Atomically fetch or generate a cache entry

mixed **apcu_entry** string $key callable $callback int $ttl

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

Opmerking: > When control enters the lock for the cache is acquired exclusively, it is released when control leaves : In effect, this turns the body of 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. apcu_entry``apcu_entry``callback

Waarschuwing: > The only APCu function that can be called safely by is . callback``apcu_entry

keyIdentity of cache entry

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

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

Returns the cached value

Voorbeeld: An 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);
?>
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"
  }
}

apcu_store``apcu_fetch``apcu_delete