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: */
11:
12: namespace Nette\Caching;
13:
14: use Nette;
15:
16:
17:
18: /**
19: * Cache storage.
20: *
21: * @author David Grudl
22: */
23: interface IStorage
24: {
25:
26: /**
27: * Read from cache.
28: * @param string key
29: * @return mixed|NULL
30: */
31: function read($key);
32:
33: /**
34: * Prevents item reading and writing. Lock is released by write() or remove().
35: * @param string key
36: * @return void
37: */
38: function lock($key);
39:
40: /**
41: * Writes item into the cache.
42: * @param string key
43: * @param mixed data
44: * @param array dependencies
45: * @return void
46: */
47: function write($key, $data, array $dependencies);
48:
49: /**
50: * Removes item from the cache.
51: * @param string key
52: * @return void
53: */
54: function remove($key);
55:
56: /**
57: * Removes items from the cache by conditions.
58: * @param array conditions
59: * @return void
60: */
61: function clean(array $conditions);
62:
63: }
64: