Wake Me Up When September Ends.

A wanderer capable of grasping the beauty of the grass, with a heart full of ancient charm, and a fondness for playful wit. Those who understand my words are knowledgeable individuals; those who decipher my code truly comprehend the essence. I am a wandering code swordsman, carrying my skills and riding freely through the digital world.

时常记不住定时任务一些配置规则,所以这边记录一下!☘

Cron 定时任务是一种在 Unix/Linux 系统中用于执行预定时间间隔的任务的机制。它使用 cron 表达式来定义任务的执行时间。

Cron 表达式由空格分隔的五个字段组成,分别表示分钟、小时、日期、月份和星期几。每个字段可以接受不同的取值范围和特殊字符。

minute   hour   day   month   week   command     顺序:分 时 日 月 周
阅读全文 »

工厂模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。

需求的场景

这种模式在面试中经常会被问到,很多面试题的答案会表示该模式经常用于框架的db或cache组件设计。

假设你所在项目组在开发某个项目中,使用了多种缓存数据源,比如有内存,redis,本地文件。目前每次根据不同场景使用不同类型缓存,需要实例化不同缓存实例进行操作,比较繁琐。项目组开发人员希望统一调用缓存入口,简化缓存调用心智负担。

如何解决

  1. 定义cache工厂类(父类)和依赖类
  2. 编写各个类型cache子类
  3. cache工厂类创建调用
    阅读全文 »

一些特殊部署场景下,需要指定某个容器ip以便于访问。可以使用Docker的网络模式来间接地控制容器的IP地址,所以这边记录一下分别在单独docker与docker-compose配置示例!☘

docker

1.自定义一个名为my-docker-net网络

docker network create --subnet=172.0.0.0/24 my-docker-net

2.指定容器网络并设置固定ip

docker run -d   --net=my-docker-net --ip=172.0.0.3 --name=[容器名字] -v [镜像名字]

--net 指定网络
--ip 指定ip

通过IP172.0.0.3访问该容器了。

docker-compose

在docker-compose.yml文件中networks节点进行配置

1.subnet 进行配置网段

networks:
  default:
    driver: bridge
    ipam:
      driver: default
      # 解除下面的注释可以设置网段,用于nginx等容器固定容器IP
      config:
        - subnet: 172.0.0.0/24

2.对应service下networks节点进行配置固定ip

version: "3"
    services:
        nginx:
            networks:
                default:
                    ipv4_address: 172.0.0.3

以上命令对compose的网络配置一个172.0.0.0/24网段,然后指定其中nginx指定ip为172.0.0.3

阅读全文 »

有时候遇到批量删除很多数据表的时候,一个一个去删除太麻烦。使用如下sql可以根据则匹配,进行批量删除数据表!

注意删除数据表是很危险的行为,确保你确认所删除数据已经备份或确认无用!!!

跑路删库/表,是违法行为!!!🧟‍♀️

SET @query = '';

SELECT REPLACE(GROUP_CONCAT('DROP TABLE IF EXISTS `', TABLE_NAME, '`;'), ';,', ';') INTO @query
FROM information_schema.tables
WHERE table_schema = 'database_name'
  AND table_name REGEXP 'regex_pattern';
 PREPARE stmt FROM @QUERY;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;
阅读全文 »