自己动手搭建 Redis 环境,并建立一个 .NET HelloWorld 程序测试
关于 Redis ,下面来自百度百科:
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
上次测试了 Memcached,今天决定试试这个 Redis。
由于 Redis 部署在 Linux 环境下性能优于 Windows,于是就打算在虚拟机 ubuntu 环境下部署,然后在 Windows 8 下测试。
1. 去官网下载 Redis 解压和安装,我下载的 2.8.0-rc2。
$ wget http://redis.googlecode.com/files/redis-2.6.15.tar.gz
$ tar xzf redis-2.6.15.tar.gz
$ cd redis-2.6.15
$ make
2. 编译后的可执行文件在src目录中,可以使用下面的命令运行Redis:
$ src/redis-server
3. 你可以使用内置的客户端连接Redis:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
4. 在 Windows 下新建 .NET 程序测试。
如果连不上

成功的情况下

测试代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ServiceStack.Redis;
using System.Threading; namespace RedisTutorial
{
class Program
{
static void Main(string[] args)
{
using (var redisClient = RedisManager.GetClient())
{
using (var cars = redisClient.GetTypedClient<Car>())
{
if (cars.GetAll().Count > )
cars.DeleteAll();
var dansFord = new Car { Id = cars.GetNextSequence(), Title = "张三的汽车", Make = new Make { Name = "宝马" }, Model = new Model { Name = "奔驰" }};
var beccisFord = new Car{Id = cars.GetNextSequence(),Title = "李四的汽车",Make = new Make { Name = "本田" },Model = new Model { Name = "福特" }};
var vauxhallAstra = new Car{Id = cars.GetNextSequence(),Title = "王五的汽车",Make = new Make { Name = "比亚迪" },Model = new Model { Name = "通用" }};
var vauxhallNova = new Car{Id = cars.GetNextSequence(),Title = "赵六的汽车",Make = new Make { Name = "大众" },Model = new Model { Name = "奥迪" }}; var carsToStore = new List<Car> { dansFord, beccisFord, vauxhallAstra, vauxhallNova };
cars.StoreAll(carsToStore); Console.WriteLine("Redis 有-> " + cars.GetAll().Count + " 辆汽车。");
cars.ExpireAt(vauxhallAstra.Id, DateTime.Now.AddSeconds()); Thread.Sleep(); Console.WriteLine("Redis 有-> " + cars.GetAll().Count + " 辆汽车。");
var carsFromRedis = cars.GetAll().Where(car => car.Make.Name == "比亚迪"); foreach (var car in carsFromRedis)
{
Console.WriteLine("Redis 有 ->" + car.Title);
}
}
}
Console.ReadLine();
}
} public class Car
{
public long Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public Make Make { get; set; }
public Model Model { get; set; }
} public class Make
{
public int Id { get; set; }
public string Name { get; set; }
} public class Model
{
public int Id { get; set; }
public Make Make { get; set; }
public string Name { get; set; }
} }
配置文件:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="RedisConfig" type="RedisTutorial.RedisConfigInfo, RedisTutorial"/>
</configSections>
<RedisConfig WriteServerList="192.168.77.27:6379"
ReadServerList="192.168.77.27:6379"
MaxWritePoolSize="60"
MaxReadPoolSize="60"
AutoStart="true"
LocalCacheTime="180"
RecordeLog="false">
</RedisConfig>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
测试代码下载:点我下载
其它资源:
redis在.net架构中的应用(1)--利用servicestack连接redis
谢谢浏览!
自己动手搭建 Redis 环境,并建立一个 .NET HelloWorld 程序测试的更多相关文章
- 自己动手搭建 Redis 环境,并建立一个 .NET HelloWorld 程序测试(转)
关于 Redis ,下面来自百度百科: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set( ...
- 自己动手搭建 MongoDB 环境,并建立一个 .NET HelloWorld 程序测试
关于 MongoDB,下面来自百度百科: MongoDB[1]是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. mongoDB[1] Mon ...
- Docker 安装 Redis, 搭建 Redis 环境
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- 【转】Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。
@2019-02-28 [小记] Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印.
- mac下搭建redis环境
一.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...
- 初识redis——mac下搭建redis环境
一.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...
- 搭建Vue.js环境,建立一个简单的Vue项目
基于vue-cli快速构建 Vue是近年来比较火的一个前端框架,所以搭建Vue.js环境,要装webpack,vue-cli,Vue 安装webpack命令如下 $ cnpm install webp ...
- android 串口开发第一篇:搭建ndk开发环境以及第一个jni调用程序
一:ndk环境搭建 1:开发环境 我使用的是android studio 2.3.3版本,搭建ndk开发环境比较简单,打开File----Settings----Appearance&Beha ...
- cocos2dx 3.x版本搭建Mac环境工程(创建一个新的C++工程)百分百可行
首先第一篇,想学cocos2dx第一步就是搭建环境,第一步搭建不了环境,创建不了工程那一切都是扯淡. 说到mac下安装cocos2d-x想到的模式就是xcode+cocos2d-x.因为我本身就是一个 ...
随机推荐
- 用sessionStorage实现页面之间的数据传输
1.sessionStorage主要含几种方法: //页面A:存放一个简单的字符串 sessionStorage.obj = '123'; //页面B:取到给obj var str = session ...
- 《Windows核心编程》学习笔记(9)– 在win7或者vista系统下提升一个进程的运行权限
win7或者vista默认运行程序是在受限制的环境下运行的,以减轻病毒对于系统的破坏.那么我们怎样才能提升一个进程的权限以至让它在 管理员模式下运行.当然CreateProcess函数没有提供这个功能 ...
- GO語言基礎教程:Hello world!
首先簡單地說一下GO語言的環境安裝,從 http://golang.org/dl/ 針對自己的操作系統選擇合適的安裝包,然後下載安裝即可,下載的時候注意別選錯了的操作系統,例如go1.3.1.darw ...
- 用SDWebImage渐变加载图片
用SDWebImage渐变加载图片 使用 使用请详细查看源码,只需要给定一个图片地址以及一个placeHolder图片(非必须)即可. 效果 源码 https://github.com/YouXian ...
- 文档大师 搜狗拼音无法输入汉字_乱码的解决方法_VB6程序
文档大师用 搜狗拼音无法输入汉字,显示的内容和输入的内容不一致.解决方法: 把中文输入里面的那个“美式键盘”再删掉就好用了,只保留搜狗输入法即可!
- Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘
Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘 package com.parllay.scala.dataset /** * Created by richard ...
- Mac工具
iterm2是一个替代终端和iTerm的后继项目.它支持 OS 10.5 或者更新版本.iterm2 提供更多你需要的功能和特点. Flashlight,快速且全面地显示所有「关键词」索引出的结果 参 ...
- ASP.NET中彩票项目中的计算复式投注的注数的方法
从别人做的项目中抽取出的代码:
- Spring3系列9- Spring AOP——Advice
Spring3系列9- Spring AOP——Advice Spring AOP即Aspect-oriented programming,面向切面编程,是作为面向对象编程的一种补充,专门用于处理系统 ...
- mac添加环境变量
两个问题: 1.nodejs的安装 使用Mac OS X Binaries (.tar.gz)(64位)来安装: http://www.nodejs.org/download/ 安装参照:http:/ ...