阿里面試官 corn表示式

2021-10-22 16:24:43 字數 1798 閱讀 9230

我們資料庫平時寫sql語句都寫多了,今天我們要學的是cron表示式也就是定時任務,網上都有一些生成的方法,但是我這裡要自己寫不想經常依賴網上的生成器。

cron的組成結構是秒、分、時、日、月、周、年

欄位名 允許的值 允許的特殊字元

秒 0-59 , - * /

分 0-59 , - * /

小時 0-23 , - * /

日 1-31 , - * ? / l w c

月 1-12 or jan-dec , - * /

週幾 1-7 or sun-sat , - * ? / l c #

年 (可選字段) empty, 1970-2099 , - * /

按順序依次為

秒(0~59)

分鐘(0~59)

小時(0~23)

天(月)(1~31,但是你需要考慮當月的天數)

月(1~12 或者 jan-dec )

天(星期)(1~7 1=sun 或 sun,mon,tue,wed,thu,fri,sat)

年份(1970-2099)

其中每個元素可以是乙個值(如6),乙個連續區間(9-12),乙個間隔時間(8-18/4)(/表示每隔4小時),乙個列表(1,3,5),萬用字元。由於"月份中的日期"和"星期中的日期"這兩個元素互斥的,必須要對其中乙個設定?

「?」字元:表示不確定的值

「,」字元:指定數個值

「-」字元:指定乙個值的範圍 例:0-9

「/」字元:指定乙個值的增加幅度。n/m表示從n開始,每次增加m,可以理解為步長值

例如:4/5 從4開始,到9,14,19,23觸發一次,可以理解為從4開始,增加5後變成9,從9開始增加5,這個不會無限增加的,如果放在秒域,最大是59,放在日期域就是31

「l」字元:用在日表示乙個月中的最後一天,用在周表示該月最後乙個星期x,5l表示該月最後乙個周4,1表示星期天,如此類推

注意:在使用「l」引數時,不要指定列表或範圍,因為這會導致問題

「w」:表示有效工作日(周一到周五),只能出現在dayofmonth域,系統將在離指定日期的最近的有效工作日觸發事件。例如:在 dayofmonth使用5w,如果5日是星期六,則將在最近的工作日:星期五,即4日觸發。如果5日是星期天,則在6日(周一)觸發;如果5日在星期一到星期五中的一天,則就在5日觸發。另外一點,w的最近尋找不會跨過月份

「lw」:這兩個字元可以連用,表示在某個月最後乙個工作日,即最後乙個星期五

「#」字元:表示該月第幾個周x。6#3表示某月第3個周五,周天是1,以此類推,

「?」:僅被用於天(月)和天(星期)兩個子表示式,表示不指定值

「*」:被用來指定所有的值。如:"*"在分鐘的字段域裡表示「每分鐘」。

當2個子表示式其中之一被指定了值以後,為了避免衝突,需要將另乙個子表示式的值設為「?」

「c」:允許在日期域和星期域出現。這個字元依靠乙個指定的「日曆」。也就是說這個表示式的值依賴於相關的「日曆」的計算結果,如果沒有「日曆」關聯,則等價於所有包含的「日曆」。如:日期域是「5c」表示關聯「日曆」中第一天,或者這個月開始的第一天的後5天。星期域是「1c」表示關聯「日曆」中第一天,或者星期的第一天的後1天,也就是週日的後一天(周一)

注:c這個平時很少用到,記住就好

對於軟體測試的的朋友來說應該是最全面最完整的面試備戰倉庫,為了更好地整理每個模組,我也參考了很多網上的優質博文和專案,力求不漏掉每乙個知識點,很多朋友靠著這些內容進行複習,拿到了batj等大廠的offer,這個倉庫也已經幫助了很多的軟體測試的學習者,希望也能幫助到你

corn表示式詳解

cron表示式是乙個字串,字串以5或6個空格隔開,分為6或7個域,每乙個域代表乙個含義,cron有如下兩種語法格式 1 seconds minutes hours dayofmonth month dayofweek year 2 seconds minutes hours dayofmonth m...

Corn表示式備忘

乙個cron表示式有至少6個 也可能7個 有空格分隔的時間元素。按順序依次為 秒 0 59 分鐘 0 59 小時 0 23 天 月 0 31,但是你需要考慮你月的天數 月 0 11 天 星期 1 7 1 sun 或 sun,mon,tue,wed,thu,fri,sat 7.年份 1970 2099...

阿里面試官 設計個MySQL的Hash索引吧

除了b tree 索引,mysql還提供了如下索引 索引 儲存引擎 myisam innodb memory b tree索引 支援支援 支援hash索引 不支援不支援支援 r tree索引 支援支援 不支援 full text索引 支援支援 不支援 最常用的索引也就是b tree索引和hash索引...