【发布时间】:2014-01-07 19:43:12
【问题描述】:
我们有一个部署使用缓存角色一段时间(没有实际问题),并且我们最近在一个实例上添加了一个共置缓存。
自从我们添加了这个同位缓存后,我们开始偶尔会看到这个错误:
ErrorCode<ERRCA0009>:SubStatus<ES0001>:Cache referred to does not exist. Contact administrator or use the Cache administration tool to create a Cache.
当我们在缓存角色中访问缓存时,但这似乎几乎立即消失了,一段时间内一切正常,直到此问题再次出现。
缓存似乎不太可能不存在,因为它一直在工作,然后很快又开始工作,那么问题可能是什么?
编辑以添加更多细节。
我们有 2 个缓存。 1 是一个专用的缓存角色,它保存一些响应数据,在 web 和工作角色之间共享,有几个实例使用缓存(可能大约 10 个)。 1 是 1 个 Web 角色(2 个实例)上的同位缓存,其中包含一些仅此角色需要的小 id。
我们认为该问题可能与两个缓存都配置为使用 Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString 值中的相同存储帐户这一事实有关,并且它们似乎会覆盖彼此的更改。
这是使用两个缓存的角色的配置:
<dataCacheClients>
<dataCacheClient name="binaryConfig">
<autoDiscover isEnabled="true" identifier="CacheRole" />
</dataCacheClient>
<dataCacheClient name="request-ids">
<autoDiscover isEnabled="true" identifier="Api" />
<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>
我们只是通过这样做来创建一个缓存客户端
new DataCache(cacheName, clientConfigurationName)
然后调用Get和Put等
【问题讨论】:
-
Sam - 你能补充一点细节吗?这是使用托管缓存的 Web 角色部署吗?有多少实例正在使用缓存?实例和缓存大小?
-
您能否发布您的 web.config 文件的
部分以及用于访问 cacheClient 的 .Net 代码 -
好的,更新了问题以包含您想要的数据。
标签: azure azure-caching