依赖缓存:当文件更新的瞬间会不会出现读取为null的情况
如果像下面这样使用依赖缓存,会不会出现文件更新了,然后读取到的缓存是null的情况,应该如何解决呢
string context = MailCache["Mail_" ] == null ? null : MailCache["Mail_" + Code].ToString();
if (context == null) //假设文件一开始已经被更新,缓存被清除
{
lock (flag)
{
if (MailCache["Mail_" ] == null)
{
EMailCache.ReflashCache("Mail_" + Code); //假设重新加载缓存后,文件马上被修改
context = MailCache["Mail_" ] == null ? null : MailCache["Mail_" ].ToString(); //如果文件瞬间修改了,应该会返回null吧
}
}
return context;
}
else
{
return context;
}