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", ))
{
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共享问题
哎,后续研究吧,反正一跨域就是失败。
哎,寝室很烦,很吵,没有心思写代码,写博客。图书馆没电!!!这坑比学校,没有校园网就算了,图书馆还时不时没电。
Redis客户端ServiceStack.Redis的简单使用的更多相关文章
- Redis 消息中间件 ServiceStack.Redis 轻量级
问题: 公司开了个新项目,算上我一共3个人.车间里机台通过流水线连通联动的玩意.一个管理控制系统连接各个机台和硬件.专机类型就有5种,个数差不多20个左右. 软件规划的时候采用总分的结构,管理控制系统 ...
- 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端
1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...
- 使用StackExchange.Redis客户端进行Redis访问出现的Timeout异常排查
问题产生 这两天业务系统在redis的使用过程中,当并行客户端数量达到200+之后,产生了大量timeout异常,典型的异常信息如下: Timeout performing HVALS Parser2 ...
- 『性能』ServiceStack.Redis 和 StackExchange.Redis 性能比较
背景 近来,需要用到 Redis 这类缓存技术 —— MongoDB 和 Redis 没有进行过比较. 我也懒得在这些细节上 纠结那么多 —— 按照网友给出的文章,听从网友建议,选择 Redis. R ...
- 关于 ServiceStack.Redis 4.0 License
今天更新了框架中的Redis驱动ServiceStack.Redis,最新版本4.0.5.0. 在做简单压力测试时出现异常,提示每小时允许6000个请求. The free-quota limit o ...
- 一文彻底理解Redis序列化协议,你也可以编写Redis客户端
前提 最近学习Netty的时候想做一个基于Redis服务协议的编码解码模块,过程中顺便阅读了Redis服务序列化协议RESP,结合自己的理解对文档进行了翻译并且简单实现了RESP基于Java语言的解析 ...
- Redis客户端、服务端的安装以及命令操作
目的: redis简介 redis服务端安装 redis客户端安装 redis相关命令操作 redis简介 官网下载(https://redis.io/) Redis 是完全开源免费的,遵守BSD协议 ...
- Redis 客户端 Jedis、lettuce 和 Redisson 对比
Redis 支持多种语言的客户端,下面列举了部分 Redis 支持的客户端语言,大家可以通过官网查看 Redis 支持的客户端详情. C语言 C++ C# Java Python Node.js PH ...
- servicestack.redis工具类
using System;using System.Collections.Generic;using System.Linq;using ServiceStack.Redis;using Servi ...
随机推荐
- Java Socket输入流如何检测到EOF
对于InputStream的 read(b, off, len) 方法 public int read(byte[] b, int off, int len) throws IOException,J ...
- Ubuntu15.10 安装OpenCV3.1
wget https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.1.0/opencv-3.1.0.zip/downloa ...
- Java基础---Java---IO流-----LineNumberReader方法及原理、自定义一个LineNumberReader、字节流、图片复制、mp3复制、
LineNumberReader 跟综行号的缓冲字符输入流,些类定义了setLineNumber(int)和getLineNumber(int),它们可分别用于设置和获取当前行号 import jav ...
- C语言省略extern的缺陷
在一个文件中(比如a.c)定义一个全局变量int a = 10; 然后在另一个代码文件(比如main.c)中需要使用变量a,可以写 int a; 单独看main.c文件时就会出现二义性,一个含义是当其 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(十一):完善游戏逻辑
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- SDL2源代码分析2:窗口(SDL_Window)
===================================================== SDL源代码分析系列文章列表: SDL2源代码分析1:初始化(SDL_Init()) SDL ...
- 为学Android,我看了这些书
刚刚开始新的学习生活时,很容易走错方向,然后,这意味着不知道该学习什么,不知道该怎样学习,很显然,我写下这句话意味着我走过这样的路,为此,就付出了不小的代价,浪费了很多时间. 这篇文章当然 ...
- AnimatedPathView实现自定义图片标签
老早用过小红书app,对于他们客户端笔记这块的设计非常喜欢,恰好去年在小红书的竞争对手公司,公司基于产品的考虑和产品的发展,也需要将app社交化,于是在社区分享这块多多少少参照了小红书的设计,这里面就 ...
- Google Guava的5个鲜为人知的特性
译文出处: 花名有孚 原文出处:takipi.com Google Guava有哪些比较冷门但却又实用的特性呢? 它是最流行的开源库之一,你应该听过它的大名,它诞生的地方正是人们举办真正的魁地奇比 ...
- Java线程的状态
Java线程的状态 线程对象在不同的运行时期有不同的状态,状态信息就存在于Thread中的State枚举中,如下所示: public enum State { /** * 至今尚未启动的线程处于这种状 ...