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