本文整理汇总了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;
}
}
}