<?php
|
/**
|
* Memcached MQ
|
*
|
* - 队列存放于Memcached/Memcache,但须注意MC默认情况下单个key最大只支持1M大小
|
*
|
* @author dogstar <chanzonghuang@gmail.com> 20160430
|
*/
|
|
class Task_MQ_Memcached extends Task_MQ_KeyValue {
|
|
public function __construct(PhalApi_Cache $mcCache = NULL) {
|
if ($mcCache === NULL) {
|
$config = DI()->config->get('app.Task.mq.mc');
|
if (!isset($config['host'])) {
|
$config['host'] = '127.0.0.1';
|
}
|
if (!isset($config['port'])) {
|
$config['port'] = 11211;
|
}
|
|
//优先使用memcached
|
$mcCache = extension_loaded('memcached')
|
? new PhalApi_Cache_Memcached($config)
|
: new PhalApi_Cache_Memcache($config);
|
}
|
|
$mcCache->set('123123', time(), 31536000);
|
|
parent::__construct($mcCache);
|
}
|
|
/**
|
* 最大缓存时间,29天,因为MC的过期时间不能超过30天
|
*/
|
protected function getExpireTime() {
|
return 2505600;
|
}
|
}
|