c# - StackExchange.Redis 字符串值转换为集合

标签 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 返回数据的服务,此处以 字符串 形式返回数据。

问题:我将键“CalculatorSalaries”的值设置为字符串,但是当我尝试获取它时,我收到错误,因为该键的值是类型设置

我哪里错了?

<小时/>

附注当我在步骤

调试代码时

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

当键“CalculatorSalaries”存在值时调试跳过,并且仅在浏览器控制台中出现错误

最佳答案

您正在调用SetAdd...从而添加一个集合。

也许你的意思是StringSet:

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

关于c# - StackExchange.Redis 字符串值转换为集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25262650/

相关文章:

c# - c#捕获鼠标点击事件

c# - 使用 Kinect 线程

azure - (Azure 逻辑应用)Webhook 是否支持基于托管身份的身份验证?

c# - 如何测试未释放的 GDI 对象导致的内存泄漏?

c# - 对子对象的 yield 返回

.net - 装箱/拆箱和可空?

c# - MVC 4 如何正确地将数据从 Controller 传递到 View

git - 如何将 GIT 存储库从 Bonobo GIT Server 导入到 Visual Studio Team Services

azure - 使用 Azure SDK 2.8 在 VSO 上托管构建失败

c# - 从经典 ASP 将 HTML 解析为 Web 服务