Blame view

src/vendor/1.2.5/Phalcon/Cache/Multiple.php 2.64 KB
ef60cd4d   Administrator   first commit
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
  <?php 
  
  namespace Phalcon\Cache {
  
  	/**
  	 * Phalcon\Cache\Multiple
  	 *
  	 * Allows to read to chained backends writing to multiple backends
  	 *
  	 *<code>
  	 *   use Phalcon\Cache\Frontend\Data as DataFrontend,
  	 *       Phalcon\Cache\Multiple,
  	 *       Phalcon\Cache\Backend\Apc as ApcCache,
  	 *       Phalcon\Cache\Backend\Memcache as MemcacheCache,
  	 *       Phalcon\Cache\Backend\File as FileCache;
  	 *
  	 *   $ultraFastFrontend = new DataFrontend(array(
  	 *       "lifetime" => 3600
  	 *   ));
  	 *
  	 *   $fastFrontend = new DataFrontend(array(
  	 *       "lifetime" => 86400
  	 *   ));
  	 *
  	 *   $slowFrontend = new DataFrontend(array(
  	 *       "lifetime" => 604800
  	 *   ));
  	 *
  	 *   //Backends are registered from the fastest to the slower
  	 *   $cache = new Multiple(array(
  	 *       new ApcCache($ultraFastFrontend, array(
  	 *           "prefix" => 'cache',
  	 *       )),
  	 *       new MemcacheCache($fastFrontend, array(
  	 *           "prefix" => 'cache',
  	 *           "host" => "localhost",
  	 *           "port" => "11211"
  	 *       )),
  	 *       new FileCache($slowFrontend, array(
  	 *           "prefix" => 'cache',
  	 *           "cacheDir" => "../app/cache/"
  	 *       ))
  	 *   ));
  	 *
  	 *   //Save, saves in every backend
  	 *   $cache->save('my-key', $data);
  	 *</code>
  	 */
  	
  	class Multiple {
  
  		protected $_backends;
  
  		/**
  		 * \Phalcon\Cache\Multiple constructor
  		 *
  		 * @param \Phalcon\Cache\BackendInterface[] $backends
  		 */
  		public function __construct($backends=null){ }
  
  
  		/**
  		 * Adds a backend
  		 *
  		 * @param \Phalcon\Cache\BackendInterface $backend
  		 * @return \Phalcon\Cache\Multiple
  		 */
  		public function push($backend){ }
  
  
  		/**
  		 * Returns a cached content reading the internal backends
  		 *
  		 * @param 	string $keyName
  		 * @param   long $lifetime
  		 * @return  mixed
  		 */
  		public function get($keyName, $lifetime=null){ }
  
  
  		/**
  		 * Starts every backend
  		 *
  		 * @param int|string $keyName
  		 * @param   long $lifetime
  		 * @return  mixed
  		 */
  		public function start($keyName, $lifetime=null){ }
  
  
  		/**
  		 * Stores cached content into all backends and stops the frontend
  		 *
  		 * @param string $keyName
  		 * @param string $content
  		 * @param long $lifetime
  		 * @param boolean $stopBuffer
  		 */
  		public function save($keyName=null, $content=null, $lifetime=null, $stopBuffer=null){ }
  
  
  		/**
  		 * Deletes a value from each backend
  		 *
  		 * @param int|string $keyName
  		 * @return boolean
  		 */
  		public function delete($keyName){ }
  
  
  		/**
  		 * Checks if cache exists in at least one backend
  		 *
  		 * @param  string $keyName
  		 * @param  long $lifetime
  		 * @return boolean
  		 */
  		public function exists($keyName=null, $lifetime=null){ }
  
  	}
  }