StackExchange.Redis字符串值转换为set

时间:2014-08-12 11:03:53

标签: c# .net azure redis azure-redis-cache

我使用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返回。

问题:我为key" CalculatorSalaries"设置了值。作为string但是当我尝试获取它时,我得到error,因为该键的值是set类型。

我哪里错了?


P.S。当我在步骤

调试代码时

var s = (string) _cache.StringGet("CalculatorSalaries");

当键存在值"计算器报价"和错误仅在浏览器控制台中获取

1 个答案:

答案 0 :(得分:3)

您正在呼叫SetAdd ...从而添加一组。

也许你的意思是StringSet

var salaries = _service.LoadCalculatorSalaries();
_cache.StringSet("CalculatorSalaries", (string)salaries);
//     ^^^^^^^^^ this
相关问题