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
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: * @return void
36: */
37: function write($key, $data, array $dependencies);
38:
39: /**
40: * Removes item from the cache.
41: * @param string $key
42: * @return void
43: */
44: function remove($key);
45:
46: /**
47: * Removes items from the cache by conditions.
48: * @return void
49: */
50: function clean(array $conditions);
51: }
52: