function get_confs_cached($db_name = null, $table_name = null, $force_update = false) { FORCE_CONF_UPDATE && ($force_update = true); $key = $db_name . '|config|' . $table_name; $key_valid = $db_name . '|config.valid|' . $table_name; $mem = api_open_mmc(); if ($force_update === false) { //如果还有效,直接获取返回 if ($is_valid = $mem->get($key_valid)) { if ($result = $mem->get($key)) { return $result; } //如果已经失效 } else { //看看旧的在否?有则先设置标记,让其他人先获取 if ($result = $mem->get($key)) { $mem->set($key_valid, 'true', GET_CONF_EXPIRE); sync_job('get_confs', [$db_name, $table_name]); return $result; } } } $result = get_confs($db_name, $table_name, '名称'); $config = $result['push-settings']; $popup_confs = make_popup_list($config); $replace_confs = make_replace_list($config); $confs = ['popup' => $popup_confs, 'replace' => $replace_confs]; $confs = fields_mapper($confs); $confs['system'] = get_system_confs(); $mem->set($key, $confs); $mem->set($key_valid, 'true', GET_CONF_EXPIRE); return $confs; }
function update_loader_js() { $settings = get_settings(); $posi_list = get_positions(); $accnt_ident_list = $settings['accounts']; $kword_ident_list = array_merge($settings['carts'], $settings['favorites'], $settings['interests']); $submt_ident_list = $settings['searchs']; $conf_arr = []; $conf_arr['posi_configs'] = makeconf_posi($posi_list); $conf_arr['accnt_ident_configs'] = makeconf_default($accnt_ident_list); $conf_arr['kword_ident_configs'] = makeconf_default($kword_ident_list); $conf_arr['submt_ident_configs'] = makeconf_default($submt_ident_list); $system = get_system_confs(); append_configs($conf_arr, $system); }