1: <?php
2: 3: 4: 5: 6: 7:
8:
9: namespace Wei;
10:
11: 12: 13: 14: 15:
16: class Apc extends BaseCache
17: {
18: 19: 20:
21: public function get($key, $expire = null, $fn = null)
22: {
23: $result = apc_fetch($this->namespace . $key);
24: return $this->processGetResult($key, $result, $expire, $fn);
25: }
26:
27: 28: 29:
30: public function set($key, $value, $expire = 0)
31: {
32: $key = $this->namespace . $key;
33: return $expire >= 0 ? apc_store($key, $value, $expire) : apc_delete($key);
34: }
35:
36: 37: 38:
39: public function remove($key)
40: {
41: return apc_delete($this->namespace . $key);
42: }
43:
44: 45: 46:
47: public function exists($key)
48: {
49: return apc_exists($this->namespace . $key);
50: }
51:
52: 53: 54:
55: public function add($key, $value, $expire = 0)
56: {
57: return apc_add($this->namespace . $key, $value, $expire);
58: }
59:
60: 61: 62:
63: public function replace($key, $value, $expire = 0)
64: {
65: $key = $this->namespace . $key;
66: if (apc_exists($key)) {
67: return apc_store($key, $value, $expire);
68: } else {
69: return false;
70: }
71: }
72:
73: 74: 75:
76: public function incr($key, $offset = 1)
77: {
78: $key = $this->namespace . $key;
79: $value = apc_inc($key, $offset, $success);
80: if ($success) {
81: return $value;
82: } else {
83: return apc_store($key, $offset) ? $offset : false;
84: }
85: }
86:
87: 88: 89:
90: public function clear()
91: {
92: return apc_clear_cache('user');
93: }
94: }
95: