1<?php
2require_once '../../MPLT.php';
3$timer = new MPLT();
4require_once '../../src/dalmp.php';
5# ------------------------------------------------------------------------------
6
7$user = getenv('MYSQL_USER') ?: 'root';
8$password = getenv('MYSQL_PASS') ?: '';
9$host = getenv('MYSQL_HOST') ?: '127.0.0.1';
10$port = getenv('MYSQL_HOST') ?: '3306';
11
12/**
13 * Cache engine defined on DSN
14 */
15$db = new DALMP\Database("utf8://$user:$password@$host:$port/dalmp?redis:127.0.0.1:6379");
16
17$db->FetchMode('ASSOC');
18
19/**
20 * Cache for 5 minutes, group A
21 */
22$rs = $db->CachePGetAll(300,'SELECT * FROM Country WHERE Region = ?', 'Caribbean', 'group:A');
23echo count($rs), PHP_EOL;
24$timer->setMark('300');
25
26/**
27 * Cache for 1 day (86400 seconds), group B
28 */
29$rs = $db->CachePGetAll(86400, 'SELECT * FROM Country WHERE Continent = ?', 'Europe', 'group:B');
30echo count($rs), PHP_EOL;
31$timer->setMark('86400');
32
33/**
34 * Cache for 1 hour (default), group C
35 */
36$rs = $db->CachePGetAll('SELECT * FROM Country WHERE Population <= ?', 100000, 'group:C');
37echo count($rs), PHP_EOL;
38$timer->setMark('default');
39
40/**
41 * lazy connection test query DB only when needed
42 */
43$db->debug();
44$db->closeConnection();
45
46/**
47 * Cache for 5 minutes, group A
48 */
49$rs = $db->CachePGetAll('SELECT * FROM Country WHERE Region = ?', 'Caribbean');
50echo count($rs), PHP_EOL;
51$timer->setMark('lazy');
52
53/**
54 * flush only group A
55 */
56$db->CacheFlush('group:A');
57
58/**
59 * Cache for 5 minutes, group A
60 */
61$rs = $db->CachePGetAll(300,'SELECT * FROM Country WHERE Region = ?', 'Caribbean', 'group:A');
62echo count($rs), PHP_EOL;
63$timer->setMark('connect');
64
65# ------------------------------------------------------------------------------
66echo PHP_EOL, str_repeat('-', 80), PHP_EOL;
67$timer->printMarks();
68echo str_repeat('-', 80),PHP_EOL,'Time: ',$timer->getPageLoadTime(),' - Memory: ',$timer->getMemoryUsage(1),PHP_EOL,str_repeat('-', 80),PHP_EOL;
69