zoukankan      html  css  js  c++  java
  • Redis客户端ServiceStack.Redis的简单使用

    在nuget中下载ServiceStack.Redis,但是运行之后会出现一个问题:

    Exception: “Com.JinYiWei.Cache.RedisHelper”的类型初始值设定项引发异常。
    System.TypeInitializationException: “Com.JinYiWei.Cache.RedisHelper”的类型初始值设定项引发异常。 ---> System.TypeLoadException: 程序集“ServiceStack.Redis, Version=3.9.71.0, Culture=neutral, PublicKeyToken=null”中的类型“ServiceStack.Redis.RedisNativeClient”的方法“get_Db”没有实现。

    查了下原来是版本问题,我的解决方法如下:
    修改几个重要的dll的版本:
    <package id="ServiceStack.Common" version="3.9.71" targetFramework="net45" />
    <package id="ServiceStack.Redis" version="3.9.71" targetFramework="net45" />
    <package id="ServiceStack.Text" version="3.9.11" targetFramework="net45" />

    如果不好下载,使用nuget命令就可以了:
    Install-Package ServiceStack.Common -Version 3.9.71

    code如下:

    using(RedisClient redisClient = new RedisClient("123.207.96.138", 6379))
    {
    string str = "second";
    bool IsSet = false;
    if (IsSet = redisClient.Set<string>("second", "www.cjjjs.com"))
    {
    string getMessage = redisClient.Get<string>(str);
    Console.WriteLine(getMessage);
    }
    else
    {
    Console.WriteLine("redis键入键值失败...");
    }
    
    Console.Read();
    }

    但是有个地方要注意,使用Set函数的时候,因为使用Get<string>来获取,设置的时候就需要Set<string>来设置,我已开始使用的是Set,导致不能获取到值,这是要值得注意的地方。

    尝试了一下在两个不同的站点部署两个网站,使用redis来存储数据,的确成功了,这就有点类似于使用数据库来存储了,只不过redis这样的nosql数据库效率更高。原本我是使用redis来存储session,但是在跨域方面就是失败!!!尝试了两种实现都不行,参考如下:
     【新手总结】在.Net项目中使用Redis作为缓存服务

    《分布式中Redis实现Session终结篇》
    以及我的博客:
     asp.net 分布式探讨之Session共享问题

    哎,后续研究吧,反正一跨域就是失败。

    哎,寝室很烦,很吵,没有心思写代码,写博客。图书馆没电!!!这坑比学校,没有校园网就算了,图书馆还时不时没电。

  • 相关阅读:
    markdown
    线段树模板
    Trie模板 UVALive 3942 Remember the Word
    使用swift写sprite Kit的模仿微信打飞机游戏
    Graffiti support page
    使用代码控制ScrollView的contentSize
    资料整理
    pd.to_sql()用法
    如何将表格的数据导入到mysql
    安装启动MySQL8.0,报错:1053
  • 原文地址:https://www.cnblogs.com/zhiyong-ITNote/p/7955015.html
Copyright © 2011-2022 走看看