/** * 暴露出来的一个设置缓存接口,使用sys模块的缓存设置 * @author 欧远宁 * @param string $key cache的key * @param any $val cache的值 * @param int $time 过期时间,单位秒 */ public static function set_sys_cache($key, $val, $time = 300) { $cache = cache::get_ins('sys'); $pre = 'user_'; //给一个前缀,避免跟其他系统cache重名 $cache->set($pre . $key, $val, $time); }
/** * dao的构造函数 * @author 欧远宁 * @param string $mdl 应用名 * @param string $tbl 表对象名 */ public function __construct($mdl, $tbl) { $this->schema = $GLOBALS['cfg'][$mdl]['schema'][$tbl]; $this->sql = $GLOBALS['cfg'][$mdl]['sql']; $suf = inject::split($mdl, $tbl); //我们用版本号作为缓存key的前缀,以便当数据结构变更的时候,将对象缓存自动过期 $this->ver = $this->schema['ver'] . '.'; $this->mdl = $mdl . $suf['db']; $this->tbl = $tbl . $suf['tbl']; $this->key = $tbl . '_id'; $this->key_list = $tbl . '_list'; $this->db = mysql::get_ins($mdl, $suf['db']); if ($GLOBALS['cfg']['cfg']['dao_cache']) { $this->cache = cache::get_ins($mdl); } else { $this->schema['cache'] = -1; } }