我们有一个部署已经使用缓存角色一段时间(没有真正的问题),并且我们最近在一个实例上添加了一个共置缓存。
由于我们添加了这个并置缓存,我们开始偶尔会看到这个错误:
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