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: