-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathCache.php
More file actions
72 lines (63 loc) · 1.38 KB
/
Cache.php
File metadata and controls
72 lines (63 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php declare(strict_types=1);
namespace SHMCache;
/**
* A lightweight, out-of-the-box shared memory operation
* Class Cache
* @package SHMCache
*/
class Cache extends Block
{
/**
* @var Cache
*/
private static $_instance;
private function __clone()
{
}
/**
* Single instance
* @return Cache
*/
private static function getInstance()
{
if (!(self::$_instance instanceof self)) {
self::$_instance = new Cache();
}
return self::$_instance;
}
/**
* Cache constructor.
* @param int $timeout [optional] seconds
*/
public function __construct(int $timeout = 0)
{
parent::__construct($timeout);
}
/**
* Save $value by $key to cache
* @param string $key
* @param mixed $value
* @param int $seconds [optional]
* @return bool
*/
public static function saveCache(string $key, $value, int $seconds = 0): bool
{
return self::getInstance()->save($key, $value, $seconds);
}
/**
* Get the $value by $key from cache
* @param string $key
* @return bool|mixed
*/
public static function getCache(string $key)
{
return self::getInstance()->get($key);
}
/**
* Clean all cache data
*/
public static function cleanCache()
{
self::getInstance()->clean();
}
}