Redis客户端ServiceStack.Redis的简单使用

2023-10-18 20:22:23 浏览数 (2)

在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如下:

代码语言:javascript复制
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,但是在跨域方面就是失败!!!

0 人点赞