Skip to content

Instantly share code, notes, and snippets.

@squidge
Last active December 12, 2015 12:39
Show Gist options
  • Save squidge/4773630 to your computer and use it in GitHub Desktop.
Save squidge/4773630 to your computer and use it in GitHub Desktop.
Cache class. Uses Memcache as key/value store
<?php
class CacheStore
{
const MEMCACHE = 'Memcache';
static private $servers = NULL;
static function setServer($type, $server, $port) {
if (class_exists(self::MEMCACHE)) {
if (self::$servers[$type] != NULL) {
self::$servers[$type] = NULL;
}
$memcacheServer = new Memcache;
if (@$memcacheServer->connect($server, $port)) {
self::$servers[$type] = $memcacheServer;
}
}
}
static function checkServer($type) {
return self::$servers[$type];
}
static function getCache($type, $key) {
return self::$servers[$type] != NULL ? self::$servers[$type]->get($key) : NULL;
}
static function setCache($type, $key, $value, $extend=FALSE, $length=3600) {
if (self::$servers[$type] != NULL) {
self::$servers[$type]->set($key, $value, $extend, $length);
}
}
static function deleteCache($type, $key) {
if (self::$servers[$type] != NULL) {
self::$servers[$type]->delete($key);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment