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