当前位置: 首页 > wzjs >正文

一般制作一个网站要多久热搜榜百度

一般制作一个网站要多久,热搜榜百度,wordpress字数,大学哪个专业可以做网站本文大纲 1、背景2、实现思路3、基于数据库实现4、总结 1、背景 项目中,定时任务的控制,常常通过配置文件中的开关,但如果定时任务很多,配置文件维护就很烦,且要考虑配置热部署的问题 2、实现思路 上一篇提到了一些…

本文大纲

  • 1、背景
  • 2、实现思路
  • 3、基于数据库实现
  • 4、总结

1、背景

项目中,定时任务的控制,常常通过配置文件中的开关,但如果定时任务很多,配置文件维护就很烦,且要考虑配置热部署的问题

2、实现思路

上一篇提到了一些启停任务的实现思路:

  • 修改定时表达式为"-"
  • 条件控制定时任务所在类的Bean加载
  • 自定义启停接口等等

不管哪种,核心思路可以用下面这段代码表示:

@Service
@Slf4j
public class SchedulerService {@Value("${enable.scheduler}")private boolean enableScheduler;@Scheduled(cron = "0/5 * * * * ?")public void schedulerTask1() {if (enableScheduler) {log.info("task 1 begin to run");}}
}

3、基于数据库实现

考虑引入一张全局配置的数据库表,结构如下:

CREATE TABLE `global_config` (`id` bigint unsigned NOT NULL AUTO_INCREMENT,`t_key` varchar(64) NOT NULL,`t_value` varchar(64) NOT NULL,`addTimeStamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`modTimeStamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`),UNIQUE KEY `global_config_unique` (`t_key`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

在这里插入图片描述

写一个服务,用于获取每一项的配置:

@Service
@Slf4j
public class ConfigManager {private final GlobalConfigMapper configMapper;public ConfigManager(GlobalConfigMapper globalConfigMapper) {this.configMapper = globalConfigMapper;}public String getValue(String key) {if (StringUtils.isBlank(key)) {return null;}Example example = new Example(GlobalConfig.class);example.createCriteria().andEqualTo("key", key);GlobalConfig result = configMapper.selectOneByExample(example);return result != null ? result.getValue() : "";}// 查询对应配置的key,查不到则返回传入的默认值 public boolean getBoolean(String key, boolean defaultValue) {String value = getValue(key);if (StringUtils.isBlank(value)) {return defaultValue;}// 转booleanreturn value.equalsIgnoreCase("1") || value.equalsIgnoreCase("true");}public boolean isBillingEnabled() {return getBoolean("billing-enabled", false);}
}

由此,定时任务可以写成:

@Service
@Slf4j
public class SchedulerService {@Scheduled(cron = "0/5 * * * * ?")public void schedulerTask1() {if (!configManager.isBillingEnabled()) {log.warn("task1 switch disabled, skip");return;}log.info("task 1 begin to run");}
}

每次执行定时任务,都是现查的配置,这个就非常可控了

4、总结

基于数据库表,来分担一部分配置文件的实现方式,有些场景下非常适用,当然,配置很多的话,也可以考虑给表结构加一个分类字段,不同业务不同的type值,同一个type下有多个key-value键值对

http://www.dtcms.com/wzjs/509723.html

相关文章:

  • 什么网站允许搭建线上营销手段
  • WordPress评论回复提醒勾选seo咨询服务
  • 网站建设公司需要申请icp吗大数据分析师
  • 美橙互联 网站备案拍照优化推广网站排名
  • 去菲律宾做网站巨量引擎广告投放平台
  • 北京旅游网页设计seo排名优化方式
  • 做网站公司广州股票发行ipo和seo是什么意思
  • 个人网站建设概述新手怎么引流推广推广引流
  • 专业的网站建设企业2023第二波疫情已经到来
  • 做cpa比较做网站吗百度提交入口地址在哪
  • 做网站运营需要具备什么能力为什么外包会是简历污点
  • 做网站系统广州最近爆发什么病毒
  • 拒绝做网站的理由上海网络推广公司
  • 企业怎样做网站搜索引擎营销的主要模式
  • 如何建立微信群seo外链工具
  • 网站底部放置备案号2022年app拉新推广项目
  • 有没有国外的做美食的视频网站关于进一步优化当前疫情防控措施
  • 安徽法制建设网站店面怎么做位置定位
  • 创建购物网站seo学院
  • 怎么做 社区网站首页产品推广网站哪个好
  • 淘宝券商城网站制作网站优化与seo
  • 推荐seo关键词优化seo引擎优化是什
  • 南京刚刚发生的大事seo的优缺点
  • 北京哪里招聘网页设计山东服务好的seo公司
  • php做调查问卷网站网站开发的流程
  • 做网站(信科网络)百度网页搜索
  • 哪些网站可以做edge主页杭州网站优化效果
  • 门户型网站建设百度最新秒收录方法2021
  • 北京市住房及城乡建设网站东莞百度网站排名优化
  • 天津建设合同怎么在网站录入谷歌网站推广