diff options
Diffstat (limited to 'web/lib/cachefuncs.inc.php')
-rw-r--r-- | web/lib/cachefuncs.inc.php | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/web/lib/cachefuncs.inc.php b/web/lib/cachefuncs.inc.php index 881ad8f2..b2b96c24 100644 --- a/web/lib/cachefuncs.inc.php +++ b/web/lib/cachefuncs.inc.php @@ -79,4 +79,21 @@ function db_cache_value($dbq, $key, $ttl=600) { return $value; } +# Run a simple db query, retrieving and/or caching the result set if APC is +# available for use. Accepts an optional TTL value (defaults to 600 seconds). +function db_cache_result($dbq, $key, $fetch_style=PDO::FETCH_NUM, $ttl=600) { + $dbh = DB::connect(); + $status = false; + $value = get_cache_value($key, $status); + if (!$status) { + $result = $dbh->query($dbq); + if (!$result) { + return false; + } + $value = $result->fetchAll($fetch_style); + set_cache_value($key, $value, $ttl); + } + return $value; +} + ?> |