我使用 StackExchange.Redis 来处理缓存。我有从缓存返回值的操作(如果值存在)
public ActionResult GetCalculatorSalaries()
{
var s = (string) _cache.StringGet("CalculatorSalaries");
if (String.IsNullOrEmpty(s))
{
var salaries = _service.LoadCalculatorSalaries();
_cache.SetAdd("CalculatorSalaries", (string)salaries);
return Json(salaries, JsonRequestBehavior.AllowGet);
}
return Json(s, JsonRequestBehavior.AllowGet);
}
_service.LoadCalculatorSalaries();
- 这是从 Azure Blob 返回数据的服务,这里将数据返回为string
.
问题:我将键“CalculatorSalaries”的值设置为,string
但是当我尝试获取它时,我得到一个error
, 因为该键的值是 type set
。
我哪里错了?
PS当我在步骤调试代码时
var s = (string) _cache.StringGet("CalculatorSalaries");
当键“CalculatorSalaries”的值存在时调试跳过并且错误仅在浏览器控制台中获取