Database-based caching class using PHP Data Objects (PDO).
2009.10.10
2006-2009 LifeNexus Digital, Inc., and contributors.
| Simplified BSD License | http://opensource.org/licenses/bsd-license.php |
| CacheCore | http://cachecore.googlecode.com |
| CloudFusion | http://getcloudfusion.com |
| PDO | http://php.net/pdo |
Container for all PDO-based cache methods. Inherits additional methods from CacheCore. Adheres to the ICacheCore interface.
Reference to the PDO connection object.
Holds the parsed URL components.
Holds the PDO-friendly version of the connection string.
Holds the prepared statement for creating an entry.
Holds the prepared statement for reading an entry.
Holds the prepared statement for updating an entry.
Holds the prepared statement for resetting the expiry of an entry.
Holds the prepared statement for deleting an entry.
Holds the response of the read so we only need to fetch it once instead of doing multiple queries.
public function __construct( $name, $location, $expires, $gzip = true )
The constructor.
Tested with MySQL 5.0.x (http://mysql.com), PostgreSQL (http://postgresql.com), and SQLite 3.x (http://sqlite.org). SQLite 2.x is assumed to work. No other PDO-supported databases have been tested (e.g. Oracle, Microsoft SQL Server, IBM DB2, ODBC, Sybase, Firebird). Feel free to send patches for additional database support.
See http://php.net/pdo for more information.
public
| name | string (Required) A name to uniquely identify the cache object. |
| location | string (Required) The location to store the cache object in. This may vary by cache method. |
| expires | integer (Required) The number of seconds until a cache object is considered stale. |
| gzip | boolean (Optional) Whether data should be gzipped before being stored. Defaults to true. |
object Reference to the cache object.
public function create( $data )
Creates a new cache.
public
| data | mixed (Required) The data to cache. |
boolean Whether the operation was successful.
public function read()
Reads a cache.
public
mixed Either the content of the cache object, or boolean false.
public function update( $data )
Updates an existing cache.
public
| data | mixed (Required) The data to cache. |
boolean Whether the operation was successful.
public function delete()
Deletes a cache.
public
boolean Whether the operation was successful.
public function timestamp()
Retrieves the timestamp of the cache.
public
mixed Either the Unix timestamp of the cache creation, or boolean false.
public function reset()
Resets the freshness of the cache.
public
boolean Whether the operation was successful.
public function is_expired()
Checks whether the cache object is expired or not.
public
boolean Whether the cache is expired or not.
public function get_drivers()
Returns a list of supported PDO database drivers. Identical to PDO::getAvailableDrivers().
public
array The list of supported database drivers.
| PHP Method | http://php.net/pdo.getavailabledrivers |
private function generate_timestamp()
Returns a timestamp value apropriate to the current database type.
private
mixed Timestamp for MySQL and PostgreSQL, integer value for SQLite.