经验:使用 Cache 时注意 DateTime.Now

时间:2021-10-11 08:01:53

如果使用了缓存,比如方法 A 吧,那么你需要注意 DateTime.Now 对缓存的影响,简单来说,DateTime.Now 可能出现在两个地方:

  1. 在调用方,将 DateTime.Now 作为参数传递给了 A,如:A(DateTime.Now),如果 A 是采用 DateTime.Now 来构造缓存使用的 Key,那么此缓存几乎没有什么作用。
  2. 在要缓存的代码内部,这种情况下 DateTime.Now 可能就失去了意义,如:调用方可能期望的是使用实时的 DateTime.Now 进行倒计时。

解决思路非常简单,此处就不赘述了。