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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
<?php namespace Illuminate\Cache;
class ApcWrapper {
/** * Indicates if APCu is supported. * * @var bool */ protected $apcu = false;
/** * Create a new APC wrapper instance. * * @return void */ public function __construct() { $this->apcu = function_exists('apcu_fetch'); }
/** * Get an item from the cache. * * @param string $key * @return mixed */ public function get($key) { return $this->apcu ? apcu_fetch($key) : apc_fetch($key); }
/** * Store an item in the cache. * * @param string $key * @param mixed $value * @param int $seconds * @return array|bool */ public function put($key, $value, $seconds) { return $this->apcu ? apcu_store($key, $value, $seconds) : apc_store($key, $value, $seconds); }
/** * Increment the value of an item in the cache. * * @param string $key * @param mixed $value * @return array|bool */ public function increment($key, $value) { return $this->apcu ? apcu_inc($key, $value) : apc_inc($key, $value); }
/** * Decrement the value of an item in the cache. * * @param string $key * @param mixed $value * @return array|bool */ public function decrement($key, $value) { return $this->apcu ? apcu_dec($key, $value) : apc_dec($key, $value); }
/** * Remove an item from the cache. * * @param string $key * @return array|bool */ public function delete($key) { return $this->apcu ? apcu_delete($key) : apc_delete($key); }
/** * Remove all items from the cache. * * @return void */ public function flush() { $this->apcu ? apcu_clear_cache() : apc_clear_cache('user'); }
}
|