Cache statistics
This commit is contained in:
parent
e256774c85
commit
64a1d19518
2 changed files with 52 additions and 5 deletions
|
@ -6,6 +6,8 @@
|
|||
* @author Jay Trees <github.jay@grandel.anonaddy.me>
|
||||
*/
|
||||
|
||||
namespace wishthis;
|
||||
|
||||
$api = true;
|
||||
$response = array();
|
||||
|
||||
|
@ -26,12 +28,12 @@ switch ($_SERVER['REQUEST_METHOD']) {
|
|||
$response['data'] = array();
|
||||
|
||||
foreach ($tables as $table) {
|
||||
$count = $database
|
||||
->query('SELECT COUNT(`id`) AS "count"
|
||||
FROM `' . $table . '`;')
|
||||
->fetch();
|
||||
$count = new Cache\Query(
|
||||
'SELECT COUNT(`id`) AS "count"
|
||||
FROM `' . $table . '`;'
|
||||
);
|
||||
|
||||
$response['data'][$table] = $count;
|
||||
$response['data'][$table] = $count->get();
|
||||
}
|
||||
} else {
|
||||
$count = $database
|
||||
|
|
45
src/classes/cache/query.php
vendored
Normal file
45
src/classes/cache/query.php
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Databse query cache
|
||||
*/
|
||||
|
||||
namespace wishthis\Cache;
|
||||
|
||||
class Query extends Cache
|
||||
{
|
||||
private Database $databse;
|
||||
|
||||
public function __construct($url)
|
||||
{
|
||||
global $database;
|
||||
|
||||
parent::__construct($url);
|
||||
|
||||
$this->directory .= '/query';
|
||||
$this->database = $database;
|
||||
}
|
||||
|
||||
public function get(): array
|
||||
{
|
||||
$filepath = $this->getFilepath();
|
||||
|
||||
$response = $this->exists() ? json_decode(file_get_contents($filepath), true) : array();
|
||||
|
||||
if (true === $this->generateCache()) {
|
||||
$pdoStatement = $this->database->query($this->url);
|
||||
|
||||
if (false !== $pdoStatement) {
|
||||
if (1 === $pdoStatement->rowCount()) {
|
||||
$response = $pdoStatement->fetch();
|
||||
} else {
|
||||
$response = $pdoStatement->fetchAll();
|
||||
}
|
||||
}
|
||||
|
||||
$this->write($response);
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue