public class appdata
{
private static Dictionary<string, string> Appdata = new();
private static Dictionary<string, long> Apptimeout = new();
public static string Setstring(string key)
{
if (Apptimeout.ContainsKey(key) && Apptimeout[key] < DateTime.Now.Ticks) { Remove(key); return ""; }
return Appdata.ContainsKey(key) ? Appdata[key] : "";
}
public static string Setstring(string key, string val, TimeSpan timespan)
{
var timeout = DateTime.Now.AddMilliseconds((long)Math.Ceiling(timespan.TotalMilliseconds)).Ticks;
if (Appdata.ContainsKey(key)) { Appdata[key] = val; } else { Appdata.Add(key, val); }
if (Apptimeout.ContainsKey(key)) { Apptimeout[key] = timeout; } else { Apptimeout.Add(key, timeout); }
return val;
}
public static void Remove(string key)
{
if (Appdata.ContainsKey(key)) { Appdata.Remove(key); }
if (Apptimeout.ContainsKey(key)) { Apptimeout.Remove(key); }
}
}
c# 使用Dictionary手动缓存+过期时间
最新推荐文章于 2023-03-29 15:40:26 发布