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