本文整理匯總了PHP中Services::memcacheObj方法的典型用法代碼示例。如果您正苦於以下問題:PHP Services::memcacheObj方法的具體用法?PHP Services::memcacheObj怎麽用?PHP Services::memcacheObj使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Services
的用法示例。
在下文中一共展示了Services::memcacheObj方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: loadMemcache
/**
* Loads the memcache extension
*/
public static function loadMemcache()
{
$memcache = Services::getConfiguration()->get('memcache');
if ($memcache === null or !extension_loaded('memcache')) {
self::getConnection()->getProtocol()->sendLogLine("Cannot use memcache! No configuration found!");
} elseif (is_array($memcache['servers'])) {
require_once SDIR . 'lib/system/cache/CacheSource.class.php';
self::$memcacheObj = new CacheSource();
// add server
foreach ($memcache['servers'] as $server) {
// create needed array
$arguments = array();
// get server address
if (!isset($server['address'])) {
throw new Exception("Invalid memcache configuration: address tag is missing!");
}
$arguments[] = $server['address'];
// get port
if (isset($server['port'])) {
$arguments[] = $server['port'];
}
// get persistent option
if (isset($server['persistent'])) {
$arguments[] = (bool) intval($server['persistent']);
}
// add server
call_user_func_array(array(self::$memcacheObj, 'addServer'), $arguments);
// remove temp variables
unset($arguments);
}
// flush old cache (we'll have old resources if the applications was killed)
self::$memcacheObj->flush();
// test connection
self::$memcacheObj->add('SERVICES_VERSION', SERVICES_VERSION);
if (self::$memcacheObj->get('SERVICES_VERSION') !== false) {
// add log entry
self::getConnection()->getProtocol()->sendLogLine("Etablished connection to memcache server!");
} else {
// add log entry
self::getConnection()->getProtocol()->sendLogLine("An error occoured with memcache! I'll disable it ...");
// disable memcache
self::$memcacheObj = null;
}
}
}