ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))for i=1,100000,1 do ngx.encode_base64(body)end ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))
1478684107.716now is 11/09/16 17:35:071478684107.716now is 11/09/16 17:35:16
今天发现一个问题 两个ngx.now() 直接执行多久的代码 都是返回一样的值ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))for i=1,100000,1 do ngx.encode_base64(body)end ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))执行返回值如下1478684107.716now is 11/09/16 17:35:071478684107.716now is 11/09/16 17:35:16
在 2016年11月9日,下午5:37,Ivan King <ivan...@gmail.com> 写道:两个ngx.now() 之间执行多久的代码 都是返回一样的值在 2016年11月9日星期三 UTC+8下午5:36:21,Ivan King写道:今天发现一个问题 两个ngx.now() 直接执行多久的代码 都是返回一样的值ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))for i=1,100000,1 do ngx.encode_base64(body)end ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))执行返回值如下1478684107.716now is 11/09/16 17:35:071478684107.716now is 11/09/16 17:35:16 -- --
使用resty工具的话,你需要手动调用 ngx.update_time(),否则返回的是缓存好的时间在 2016年11月9日,下午5:37,Ivan King <ivan...@gmail.com> 写道:两个ngx.now() 之间执行多久的代码 都是返回一样的值在 2016年11月9日星期三 UTC+8下午5:36:21,Ivan King写道:今天发现一个问题 两个ngx.now() 直接执行多久的代码 都是返回一样的值ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))for i=1,100000,1 do ngx.encode_base64(body)end ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))执行返回值如下1478684107.716now is 11/09/16 17:35:071478684107.716now is 11/09/16 17:35:16 --
在 2016年11月9日,下午5:37,Ivan King <ivan...@gmail.com> 写道:两个ngx.now() 之间执行多久的代码 都是返回一样的值在 2016年11月9日星期三 UTC+8下午5:36:21,Ivan King写道:今天发现一个问题 两个ngx.now() 直接执行多久的代码 都是返回一样的值ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))for i=1,100000,1 do ngx.encode_base64(body)end ngx.say(ngx.now())ngx.say(os.date("now is %x %X"))执行返回值如下1478684107.716now is 11/09/16 17:35:071478684107.716now is 11/09/16 17:35:16 --
Hello! 2016-11-09 1:44 GMT-08:00 Ivan King: > 现在有新的疑问 ,在什么情况下ngx.now()会被动触发更新缓存 > 当有新的 I/O 事件发生或者有新的 timer 到达超时时间,nginx 缓存的当前时间会自动进行更新。 Regards, -agentzh