查看: 395|回复: 0

[ASP.NET教程] Redis客户端ServiceStack.Redis的简单使用

发表于 2017-12-4 08:00:02

在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的版本:


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

code如下:

  1. using(RedisClient redisClient = new RedisClient("123.207.96.138", 6379))
  2. {
  3. string str = "second";
  4. bool IsSet = false;
  5. if (IsSet = redisClient.Set<string>("second", "www.cjjjs.com"))
  6. {
  7. string getMessage = redisClient.Get<string>(str);
  8. Console.WriteLine(getMessage);
  9. }
  10. else
  11. {
  12. Console.WriteLine("redis键入键值失败...");
  13. }
  14. Console.Read();
  15. }
复制代码

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

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

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

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

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



回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条