要在ASP .NET Core中使用每个用户的内存缓存,可以按照以下步骤进行:
services.AddMemoryCache();
private readonly IMemoryCache _memoryCache;
public YourControllerOrService(IMemoryCache memoryCache)
{
_memoryCache = memoryCache;
}
string userId = "your_user_id";
List data;
if (!_memoryCache.TryGetValue(userId, out data))
{
// 如果缓存中不存在该键,则从数据库或其他数据源获取数据
data = GetDataFromDatabase(userId);
// 将数据添加到缓存中,设置过期时间
_memoryCache.Set(userId, data, TimeSpan.FromMinutes(10));
}
// 使用缓存中的数据
return View(data);
在上面的示例中,当第一次访问时,会从数据库获取数据,并将数据添加到缓存中。之后的访问将直接使用缓存中的数据,而不需要再次访问数据库。
请注意,IMemoryCache是ASP .NET Core的内存缓存实现,数据在内存中存储,因此在应用程序重新启动或重新部署时,缓存将被清空。如果需要在持久化数据中存储缓存,可以考虑使用其他缓存解决方案,如Redis缓存。