将 Azure Redis 缓存拆分为主缓存和二级缓存

Splitting Azure Redis Cache into Primary and secondary cache

团队,

A​​zure 初学者。我是 运行 一个引用 azure redis 缓存的 Azure 网络应用程序。现在我有一个要求,我必须在第一次加载时将同事数据加载到主缓存中,并且对同事计数的任何更新都加载到二级缓存中。完成后,通过更改主键值的值来完成交换。

所以我的实现方式是首先识别哪个是主要的,哪个是次要的。 (请注意,我不确定这种方法是否正确)。我为此引入了一个主键值。所以我使用下面的代码

try 
{ 
    IServer server = cacheFactory.GetServer(getEndPoint(), null); //TODO read from config 
    var StoreCache = cacheFactory.GetDatabase(0, null); 
    StoreCache.StringSet("PrimaryCacheKey",cache.Name); //Set the primary cache key to be whatever this cache is 
} 
catch (Exception ex) 
{ 
    this.Logger.Error(ex, "Error setting primary cache."); 
    throw; 
} 

但这会引发一个错误,提示“对象未设置为对象的引用”。当我调试 cache.Name= 1 的值时。为什么它找不到 cache.Name 当我我正在尝试为此设置密钥。

欢迎提出任何其他建议。

实际上,这听起来正是 StackExchange.Redis 存储库中已跟踪的问题。所以,我建议您可以更新您的 nuget 版本并重新启动它。

更多的细节可以参考这篇类似的issue.