Не винаги може да предоставим и поставим цялото съдържание на данните в една променлива. Но Cache_lite има решение на този проблем. Ще кешираме изхода.
Пример:
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| <?php
//Зареждаме разширението на Cache_lite
require_once('Cache/Lite/Output.php');
// Задаваме две опции.
// cacheDir - Директорията където ще пазим кеша
// lifetime - Времето за което е активен кеша в секунди
$options = array(
'cacheDir' => '/tmp/',
'lifeTime' => 10
);
// Създаваме обект и му предоставяме опциите
$cache = new Cache_Lite_Output($options);
//Стартираме буферирането на изхода
if (!($cache->start('123'))) {
// Ако кеша липсва изпълняваме кода
for($i=0;$i<1000;$i++) { // Изграждаме съдържанието
echo('0123456789');
}
//Приключваме с буферирането
$cache->end();
}
?> |
Не е нужно да зареждаме всеки път външни файлове, ако данните ги имаме кеширани.
Трябва да заредим само тези, които са нужни на скрипта изцяло.
Пример:
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <?php
//Зареждаме разширението на Cache_lite
require_once("Cache/Lite.php");
// Създаваме обект
$cache = new Cache_Lite();
//Ако имаме кеширани данни ги извеждаме.
if ($data = $Cache_Lite->get($id)) {
echo($data);
} else { // Ако нямаме, ги обработваме.
//Ето тук ще заредим това което ни трябва за обработката на данните
require_once("...")
require_once("...")
$Cache_Lite->save($data);
}
?> |
Може да запазим в кеша и резултати от изпълнението на функции.
Пример:
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| <?php
//Зарежда разширението на Cache_lite
require_once('Cache/Lite/Function.php');
// Задаваме две опции.
// cacheDir - Директорията където ще пазим кеша
// lifetime - Времето за което е активен кеша в секунди
$options = array(
'cacheDir' => '/tmp/',
'lifeTime' => 3600
);
// Създаваме обект
$cache = new Cache_Lite_Function($options);
//Ако съществуват данни в кеша, ще бъдат прочетени от там.
//В противен случай ще се извика функиията i_need_your_time()
//и резултата от нея ще бъде запазен от Cache_lite
$mytime = $cache->call('i_need_your_time');
echo "Кеширано време $mytime. Текущо време " . i_need_your_time();
//Връща текущото време
function i_need_your_time() {
return date("H:i:s", mktime());
}
?> |
Повече може да прочетете на този адрес -http://pear.php.net/manual/en/package.caching.cache-lite.php .