Redis入门 - Windows环境搭建与第一个C# Sample

 
什么是Redis?

Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。从2013年5月开始,Redis的开发由Pivotal赞助。在这之前,其开发由VMware赞助。根据月度排行网站DB-Engines.com的数据显示,Redis是最流行的键值对存储数据库。(源自维基百科)

更多尽在主站:http://redis.io/

如何在Windows环境下搭建Redis服务?

Redis源生提供对Linux支持,对于Windows没有官方支持。但微软在GitHub上提供了Windows支持的版本。以下是Redis官网的描述,生产环境大家还是要用Linux内核的系统。但是对于.Net的从业人员,大部分的开发环境都是Windows系统,还是希望可以在自己的环境上搭建Redis的测试环境。此种情况,我们就可以用到微软开发的包了。

Step1: 下载编译好的Redis包

国外同仁出品:https://github.com/dmajkic/redis/downloads (redis-2.4.5-win32-win64.zip)

(注:或者下载源码自己编译:https://github.com/MSOpenTech/redis)

解压文件并复制64bit里的内容到某个目录下(E.g. D:\Redis)

Step2: 启动Redis 服务

打开cmd,导航到安装目录,运行redis-server.exe. 这样Redis服务就已经启动,而且服务器会不停的输出heartbeat信息来显示当前服务器状态。

Step3: 启动Redis Client

打开新的cmd窗口,执行如下命令连接Redis服务器。

redis-cli.exe -h 127.0.0.1 -p 6379 (-h:指定服务器地址,-p:指定服务器端口号,6379为默认端口号)

这样环境就已经配置好了,然后就可以执行Redis命令了。如图,用Set和Get命令做了简单的测试。

具体的Reids命令手册,可以参考此网站:http://redis.readthedocs.org/en/latest/

如何使用C# Client访问Redis?

下载C# Clinet类库 https://github.com/ServiceStack/ServiceStack.Redis

在下载包里找到如下dll(大部分在lib文件夹内),加到项目工程中的引用中。

ServiceStack.Common.dll

ServiceStack.Interfaces.dll

ServiceStack.Redis.dll

ServiceStack.Text.dll

然后就可以通过代码来和Reids数据服务器进行互操作了。

 1 using System;
2 using ServiceStack.Redis;
3
4 namespace ConsoleApplication1
5 {
6 class Program
7 {
8 static RedisClient redisClient = new RedisClient("127.0.0.1", 6379); // 设置Redis服务IP和端口
9
10 static void Main(string[] args)
11 {
12 var value = redisClient.Get<string>("Key_1"); // 获取Key_1的值
13 redisClient.Set("Key_2", "I'm a key"); // 设置Key_2的值
14
15 Console.WriteLine(value);
16 Console.WriteLine(redisClient.Get<string>("Key_2"));
17 Console.Read();
18 }
19 }
20 }

代码输出结果为:

"test"

"I'm a key"

 
分类: 技术文章
标签: C#

Windows环境搭建与第一个C# Sample的更多相关文章

  1. Redis入门 - Windows环境搭建与第一个C# Sample

    什么是Redis? Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.从2013年5月开始,Redis的开发由Pivotal赞助.在这之前,其开发由VMware赞助.根 ...

  2. Battery Historian for windows环境搭建

    Battery Historian for windows环境搭建 简介:Battery historian是一款通过上传bugreport文件分析用户手机中App的电池耗电情况的工具. Batter ...

  3. Android NDK r8 windows环境搭建

    Android NDK r8 windows环境搭建 一.默认基础环境为已经完成Android开发环境的搭建 需要的软件及插件 1. JDK-7u25 2. Eclipse 3. Android SD ...

  4. Windows环境搭建Web自动化测试框架Watir

    Windows环境搭建Web自动化测试框架Watir 一.前言     Web自动化测试一直是一个比较迫切的问题,对于现在web开发的敏捷开发,却没有相对应的敏捷测试,故开此主题,一边研究,一边将We ...

  5. Robot Framework自动化_环境搭建以及第一个用例

    Robot Framework自动化_环境搭建以及第一个脚本 培训老师:肖能尤 2016/06/07 课程目的 一.Robot framework 环境搭建以及第一个脚本 课程内容 1    安装前准 ...

  6. Go(02)windows环境搭建和vscode配置

    之前讲述过linux环境下Go语言开发环境搭建,这次简述下windows的搭建以及vscode配置 windows环境搭建 同样去https://studygolang.com/dl下载windows ...

  7. Windows 环境搭建Redis集群(win 64位)

    转: http://blog.csdn.net/zsg88/article/details/73715947 参考:https://www.cnblogs.com/tommy-huang/p/6240 ...

  8. 【转】redis windows环境搭建

    一.下载redis windows压缩包 地址参考: https://github.com/ServiceStack/redis-windows/tree/master/downloads https ...

  9. Windows环境搭建Web自己主动化測试框架Watir(基于Ruby)

    web自己主动化測试一直是一个比較迫切的问题 图1-1 须要安装的工具 http://railsinstaller.org/ 由于安装Ruby还须要用到其它的一些开发工具集.所以建议从站点http:/ ...

随机推荐

  1. MD5和Base64

    一. 简述 MD5: 全称为message digest algorithm 5(信息摘要算法), 能够进行加密, 可是不能解密, 属于单向加密, 通经常使用于文件校验 Base64: 把随意序列的8 ...

  2. swift 它们的定义TabBarItem

    1.效果图     2.NewsViewController.swift // // NewsViewController.swift // NavigationDemo // // Created ...

  3. Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建(转)

    一.引言    本套学习笔记的开发环境是Windows 10 专业版和Android Studio 的最新版1.3.1. Android Studio 是一个Android开发环境,基于Intelli ...

  4. 几个cd快速提示

    cd是project师每天都会用到的命令. 今天就来分享几条和cd有关的小技巧 cd 假设你用cd ~来进入当前用户的home文件夹的话,那么能够试试直接敲cd. 相同效果,少敲两下键盘. cd - ...

  5. Java达到MySQL数据库备份(两)

    博客<Java实现MySQL数据库备份(一)>使用I/O流的方式实现了MySQL数据库的备份,这样的方法比較繁杂.以下介绍还有一种备份MySQL数据库的方法: import java.io ...

  6. Android 在非主线程无法操作UI意识

    Android在应用显示Dialog是一个非常easy事儿,但我从来没有尝试过Service里面展示Dialog. 经验UI操作要在主线程,本地的服务Service是主线程里没错,可是远程servic ...

  7. 设计模式之空对象(Null Object)模式

    通过引用Null Object,用于取消业务逻辑中对对象的为空推断 类图: Nullable: package com.demo.user; public interface Nullable { b ...

  8. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法(转)

    对象的synchronized方法不能进入了,但它的其他非synchronized方法还是可以访问的 对每一个class只有一个thread可以执行synchronized static method ...

  9. poj3903 Stock Exchange(最长上升子序列)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:id=3903">http://poj.org/problem?id=3903 Descrip ...

  10. PHP开发笔记

    PHP开发笔记 JSON数据的解析 $json_data = isset($_GET['json_data']) ? $_GET['json_data'] : null; $json_data=str ...