ILIAS  trunk Revision v11.0_alpha-1769-g99a433fe2dc
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
APCu.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\Cache\Adaptor;
22 
26 class APCu extends BaseAdaptor implements Adaptor
27 {
28  public function isAvailable(): bool
29  {
30  return function_exists('apcu_fetch');
31  }
32 
33  public function has(string $container, string $key): bool
34  {
35  return apcu_exists($this->buildKey($container, $key));
36  }
37 
38  public function get(string $container, string $key): ?string
39  {
40  return apcu_fetch($this->buildKey($container, $key)) ?: null;
41  }
42 
43  public function set(string $container, string $key, string $value, int $ttl): void
44  {
45  apcu_store($this->buildKey($container, $key), $value, $ttl);
46  }
47 
48  public function delete(string $container, string $key): void
49  {
50  apcu_delete($this->buildKey($container, $key));
51  }
52 
53  public function flushContainer(string $container): void
54  {
55  apcu_delete(new \APCUIterator('/^' . $this->buildContainerPrefix($container) . '/'));
56  }
57 
58  public function flush(): void
59  {
60  apcu_clear_cache();
61  }
62 }
buildKey(string $container, string $key)
Definition: BaseAdaptor.php:42
buildContainerPrefix(string $container)
Definition: BaseAdaptor.php:47
$container
Definition: wac.php:36
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
has(string $container, string $key)
Definition: APCu.php:33
flushContainer(string $container)
Definition: APCu.php:53