Caching windows azure:共享缓存-是否全部删除?
我正在使用Windows Azure共享缓存。我遇到了几个问题:Caching windows azure:共享缓存-是否全部删除?,caching,azure,azure-caching,Caching,Azure,Azure Caching,我正在使用Windows Azure共享缓存。我遇到了几个问题: 如何知道缓存中存在哪些密钥?是否有类似于GetAllKeys()的方法 是否可以调用clearAll() 为什么我不能使用区域 谢谢。此部分适用于Windows Azure缓存 Windows Azure提供两种类型的缓存模式: 专用角色缓存-角色实例专门用于 缓存(该实例中没有运行其他代码) 共址角色缓存-缓存共享VM资源 (带宽、CPU和内存)与应用程序一起使用 如何知道缓存中有什么?是否有类似“GetAllKeys()”
GetAllKeys()
的方法李>
clearAll()
李>
谢谢。此部分适用于Windows Azure缓存 Windows Azure提供两种类型的缓存模式:
- 专用角色缓存-角色实例专门用于 缓存(该实例中没有运行其他代码)
- 共址角色缓存-缓存共享VM资源 (带宽、CPU和内存)与应用程序一起使用
- 通过键从缓存中获取项
- 如果缓存返回
,则创建该项并将其放入/添加到缓存中Null
- 对项目执行操作(从缓存中获取或重新创建)
本节适用于Windows Azure共享缓存 从客户端的角度来看,WindowsAzure共享缓存与WindowsAzure缓存(如上所述)非常相似,所有解释也适用于共享缓存 项目逐出有一个小的变化: 在共享缓存中,没有特定过期时间的项目将在48小时后过期。但是,您可以将项目添加到缓存中(通过
add
和Put
方法的各种重载),并具有明确的过期时间,例如X分钟或Y天
当您超过缓存的大小(创建过程中选择的缓存大小)时,缓存服务将启动缓存中的“逐出项”,直到解决内存问题(您有足够的内存添加新的缓存项)。在“逐出”期间,使用LRU机制-删除缓存中最近使用最少的项
获取、检查和重新创建处理缓存项的方法(如上所述)也适用于共享缓存
我希望这将帮助您更好地理解Azure缓存和共享缓存。以下方法将清除缓存中的所有数据
public static void InvalidateCache(string cacheName)
{
DataCache desiredCache = new DataCache(cacheName);
foreach (string regionName in desiredCache.GetSystemRegions())
{
desiredCache.ClearRegion(regionName);
}
}
不客气。我忘了补充一点,那就是Windows Azure的发展非常快,在接下来的几个月里你可以有很多改进。问题是关于Windows Azure共享缓存的。您在这里描述的是Windows Azure缓存。@Sandrino Di Mattia,啊!我完全错过了。在这种情况下,非常抱歉混淆了它,我将很快删除我的答案,因为它不适合Azure共享缓存。不要删除你的答案。只需更新它并包含有关配额和缓存逐出的信息: