mirror of
https://github.com/YunoHost-Apps/phpbb_ynh.git
synced 2024-09-03 19:56:36 +02:00
167 lines
3.8 KiB
PHP
167 lines
3.8 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* This file is part of the phpBB Forum Software package.
|
|
*
|
|
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
|
* @license GNU General Public License, version 2 (GPL-2.0)
|
|
*
|
|
* For full copyright and license information, please see
|
|
* the docs/CREDITS.txt file.
|
|
*
|
|
*/
|
|
|
|
namespace phpbb\cache\driver;
|
|
|
|
/**
|
|
* An interface that all cache drivers must implement
|
|
*/
|
|
interface driver_interface
|
|
{
|
|
/**
|
|
* Load global cache
|
|
*
|
|
* @return mixed False if an error was encountered, otherwise the data type of the cached data
|
|
*/
|
|
public function load();
|
|
|
|
/**
|
|
* Unload cache object
|
|
*
|
|
* @return null
|
|
*/
|
|
public function unload();
|
|
|
|
/**
|
|
* Save modified objects
|
|
*
|
|
* @return null
|
|
*/
|
|
public function save();
|
|
|
|
/**
|
|
* Tidy cache
|
|
*
|
|
* @return null
|
|
*/
|
|
public function tidy();
|
|
|
|
/**
|
|
* Get saved cache object
|
|
*
|
|
* @param string $var_name Cache key
|
|
* @return mixed False if an error was encountered, otherwise the saved cached object
|
|
*/
|
|
public function get($var_name);
|
|
|
|
/**
|
|
* Put data into cache
|
|
*
|
|
* @param string $var_name Cache key
|
|
* @param mixed $var Cached data to store
|
|
* @param int $ttl Time-to-live of cached data
|
|
* @return null
|
|
*/
|
|
public function put($var_name, $var, $ttl = 0);
|
|
|
|
/**
|
|
* Purge cache data
|
|
*
|
|
* @return null
|
|
*/
|
|
public function purge();
|
|
|
|
/**
|
|
* Destroy cache data
|
|
*
|
|
* @param string $var_name Cache key
|
|
* @param string $table Table name
|
|
* @return null
|
|
*/
|
|
public function destroy($var_name, $table = '');
|
|
|
|
/**
|
|
* Check if a given cache entry exists
|
|
*
|
|
* @param string $var_name Cache key
|
|
*
|
|
* @return bool True if cache file exists and has not expired.
|
|
* False otherwise.
|
|
*/
|
|
public function _exists($var_name);
|
|
|
|
/**
|
|
* Load result of an SQL query from cache.
|
|
*
|
|
* @param string $query SQL query
|
|
*
|
|
* @return int|bool Query ID (integer) if cache contains a rowset
|
|
* for the specified query.
|
|
* False otherwise.
|
|
*/
|
|
public function sql_load($query);
|
|
|
|
/**
|
|
* Save result of an SQL query in cache.
|
|
*
|
|
* In persistent cache stores, this function stores the query
|
|
* result to persistent storage. In other words, there is no need
|
|
* to call save() afterwards.
|
|
*
|
|
* @param \phpbb\db\driver\driver_interface $db Database connection
|
|
* @param string $query SQL query, should be used for generating storage key
|
|
* @param mixed $query_result The result from \dbal::sql_query, to be passed to
|
|
* \dbal::sql_fetchrow to get all rows and store them
|
|
* in cache.
|
|
* @param int $ttl Time to live, after this timeout the query should
|
|
* expire from the cache.
|
|
* @return int|mixed If storing in cache succeeded, an integer $query_id
|
|
* representing the query should be returned. Otherwise
|
|
* the original $query_result should be returned.
|
|
*/
|
|
public function sql_save(\phpbb\db\driver\driver_interface $db, $query, $query_result, $ttl);
|
|
|
|
/**
|
|
* Check if result for a given SQL query exists in cache.
|
|
*
|
|
* @param int $query_id
|
|
* @return bool
|
|
*/
|
|
public function sql_exists($query_id);
|
|
|
|
/**
|
|
* Fetch row from cache (database)
|
|
*
|
|
* @param int $query_id
|
|
* @return array|bool The query result if found in the cache, otherwise
|
|
* false.
|
|
*/
|
|
public function sql_fetchrow($query_id);
|
|
|
|
/**
|
|
* Fetch a field from the current row of a cached database result (database)
|
|
*
|
|
* @param int $query_id
|
|
* @param string $field The name of the column.
|
|
* @return string|bool The field of the query result if found in the cache,
|
|
* otherwise false.
|
|
*/
|
|
public function sql_fetchfield($query_id, $field);
|
|
|
|
/**
|
|
* Seek a specific row in an a cached database result (database)
|
|
*
|
|
* @param int $rownum Row to seek to.
|
|
* @param int $query_id
|
|
* @return bool
|
|
*/
|
|
public function sql_rowseek($rownum, $query_id);
|
|
|
|
/**
|
|
* Free memory used for a cached database result (database)
|
|
*
|
|
* @param int $query_id
|
|
* @return bool
|
|
*/
|
|
public function sql_freeresult($query_id);
|
|
}
|