Cache.Insert("City", UserCity,
null, System.Web.Caching.Cache.NoAbsoluteExpiration,
new TimeSpan(24, 0, 0));
我想为特定用户保存24小时缓存,但每当我打开页面时,都会显示所有用户的相同缓存详细信息。我如何区分每个用户?
答案 0 :(得分:1)
忽略这是否是一个好主意的考虑因素,您可以通过在缓存键中包含唯一标识用户的内容(例如userName)来实现此目的:
string key = HttpContext.Current.User.Identity.Name + "-City";
Cache.Insert(key,...)
如果您可以拥有大量用户,则将特定于用户的数据放入缓存中是不可扩展的,但在某些情况下可能会合适。例如,在Intranet应用程序中使用的自定义RoleProvider
具有已知的并发用户数上限,以便在缓存中存储用户特定的角色,这是合理的。