moonbingbing / openresty-best-practices

3.6k stars 872 forks source link

补充日期函数的基础使用方法 #315

Closed Miss-you closed 3 years ago

Miss-you commented 3 years ago

介绍 ngx.today, ngx.time, ngx.utctime, ngx.localtime, ngx.now, ngx.http_time,以及 ngx.cookie_time 基本使用办法以及其原理

关键点: 事实上,在 Nginx/Openresty 中,会经常使用到获取时间操作,通常一次请求最少有几十次获取时间操作,当单核心 RPS/QPS 达到 10K 以上时,获取时间操作往往会达到 200K+量级的调用,是一个非常高频的调用。所以 Nginx 会将时间和日期进行缓存,并非每次调用或每次请求获取时间和日期。

推荐 使用 ngx_lua 模块提供的带缓存的时间接口,如 ngx.today, ngx.time, ngx.utctime, ngx.localtime, ngx.now, ngx.http_time,以及 ngx.cookie_time 等。

ref: https://github.com/moonbingbing/openresty-best-practices/issues/312