add dynamic cache expiration time