1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (http://nette.org)
5: *
6: * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: * @package Nette\Caching
11: */
12:
13:
14:
15: /**
16: * Cache storage.
17: *
18: * @author David Grudl
19: * @package Nette\Caching
20: */
21: interface ICacheStorage
22: {
23:
24: /**
25: * Read from cache.
26: * @param string key
27: * @return mixed|NULL
28: */
29: function read($key);
30:
31: /**
32: * Prevents item reading and writing. Lock is released by write() or remove().
33: * @param string key
34: * @return void
35: */
36: function lock($key);
37:
38: /**
39: * Writes item into the cache.
40: * @param string key
41: * @param mixed data
42: * @param array dependencies
43: * @return void
44: */
45: function write($key, $data, array $dependencies);
46:
47: /**
48: * Removes item from the cache.
49: * @param string key
50: * @return void
51: */
52: function remove($key);
53:
54: /**
55: * Removes items from the cache by conditions.
56: * @param array conditions
57: * @return void
58: */
59: function clean(array $conds);
60:
61: }
62: