caching for autocomplete

This commit is contained in:
Shish 2016-06-18 01:19:34 +01:00
parent 79648b04d2
commit 7dce8da850

View File

@ -49,13 +49,18 @@ class TagList extends Extension {
if(!isset($_GET["s"])) return; if(!isset($_GET["s"])) return;
//$limit = 0; //$limit = 0;
$cache_key = "autocomplete-" . strtolower($_GET["s"]);
$limitSQL = ""; $limitSQL = "";
$SQLarr = array("search"=>$_GET["s"]."%"); $SQLarr = array("search"=>$_GET["s"]."%");
if(isset($_GET["limit"]) && $_GET["limit"] !== 0){ if(isset($_GET["limit"]) && $_GET["limit"] !== 0){
$limitSQL = "LIMIT :limit"; $limitSQL = "LIMIT :limit";
$SQLarr['limit'] = $_GET["limit"]; $SQLarr['limit'] = $_GET["limit"];
$cache_key .= "-" . $_GET["limit"];
} }
$res = null;
$database->cache->get($cache_key);
if(!$res) {
$res = $database->get_col($database->scoreql_to_sql(" $res = $database->get_col($database->scoreql_to_sql("
SELECT tag SELECT tag
FROM tags FROM tags
@ -63,6 +68,8 @@ class TagList extends Extension {
AND count > 0 AND count > 0
$limitSQL $limitSQL
"), $SQLarr); "), $SQLarr);
$database->cache->set($cache_key, $res, 600);
}
$page->set_mode("data"); $page->set_mode("data");
$page->set_type("text/plain"); $page->set_type("text/plain");