【转载】.NET中使用Redis
Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博、Github、StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/。
最近项目中需要使用Redis,这里简单记录一下Redis的安装,以及如何在.NET中使用Redis。
Redis安装与启动
1. 下载Redis
Redis本身没有提供Windows版本的,并且在Windows上也不太稳定,一般都将其部署到Linux环境下,Redis可以在其官网上下载, MSOpenTech中提供了Windows版本,这里为了学习安装这一版本。

点击跳转到Github后,直接点击Zip下载。下载后根据自己计算机的版本选择32位或者64位进行安装。我将64位的解压后放到D:\Redis文件夹下,同时将文件夹内的redis.conf也拷贝到该目录下,这个是redis的配置信息:

2. 启动Redis
在Windows下面启用Redis和启动MogoDB一样,需要使用命令行启动,首先定位到该目录,运行如下命令:
D:\Redis>redis-server.exe redis.conf

因为是在本机运行的,这里要注意端口号,同时要保持端口不要关闭。
当然您也可以将Redis作为Windows服务在后台一直开启。
3. 使用
现在再开一个控制台应用程序连接之前启动的Redis,如下:
D:\Redis>redis-cli.exe -h 172.16.147.121 -p 6379
其中 –h后面是本机的ip地址,后面的是端口。
然后就可以执行set 给key为city赋值:
redis 172.16.147.121:6379> set city Shanghai
通过get可以获取指定key为city的值了。
redis 172.16.147.121:6379> get city

同时,在我们往redis上写数据的时候,Redis服务也会定时的往文件中写数据

这里仅简单的介绍了get和set命令,更多命令可以查看 http://redis.io/commands
.初探Redis
下载ServiceStack.Redis
和MongoDB一样,在.NET中使用Redis其实也是使用第三方驱动,官网推荐的是使用ServiceStack.Redis 下载后解压得到如下dll

.NET项目中使用Redis
新建一个Console程序,引用上一步骤解压的四个dll。
做一个简单的例子,在.NET中获取之前我们设置的city的值。
class Program
{
static RedisClient redisClient = new RedisClient("172.16.147.121", 6379);//redis服务IP和端口
static void Main(string[] args)
{
Console.WriteLine(redisClient.Get<string>("city"));
Console.ReadKey();
}
}
首先通过 static RedisClient redisClient = new RedisClient("172.16.147.121", 6379);
建立连接 ,然后就可以直接用redisClient里面的Get方法获取 key为city的值了。

在前面的命令行中,我们网city中存入了Shanghai,现在我们获取到了这个值。
ServerStack中有很多方法可以在.NET中调用,其类结构图如下:

总结
本文简单介绍了Redis,Redis如何在Windows下安装,以及如何在.NET中使用访问和使用Redis,希望对您有所帮助,下文将讲解如何在.NET中网Redis中读写复杂对象。
个人总结:其实Redis 旨在在缓存管理,目前应用最多的就是用Redis 做缓存服务器,保持缓存一致性, 其原理就是key value 键值对, .NET在取值时根据Key读取,并通过泛型进行转换,得到缓存数据。
【转载】.NET中使用Redis的更多相关文章
- 在AspNetCore 中 使用Redis实现分布式缓存 (转载)
文章概念描述 分布式缓存描述:分布式缓存重点是在分布式上,相信大家接触过的分布式有很多中,像分布式开发,分布式部署,分布式锁.事物.系统 等有很多.使我们对分布式本身就有一个很明确的认识,分布式就是有 ...
- 【转载】在AspNetCore 中 使用Redis实现分布式缓存
原文地址:https://www.cnblogs.com/szlblog/p/9045209.html AspNetCore 使用Redis实现分布式缓存 上一篇讲到了,Core的内置缓存:IMemo ...
- ABP中使用Redis Cache(2)
上一篇讲解了如何在ABP中使用Redis Cache,虽然能够正常的访问Redis,但是Redis里的信息无法同步更新.本文将讲解如何实现Redis Cache与实体同步更新.要实现数据的同步更新,我 ...
- 如何在win7系统中安装redis
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/92.html?1455871954 如何在win7系统中安装redis ...
- 在Ubuntu中安装Redis
原文地址:http://blog.fens.me/linux-redis-install/ 在Ubuntu中安装Redis R利剑NoSQL系列文章,主要介绍通过R语言连接使用nosql数据库.涉及的 ...
- C#中使用REDIS
C#中使用REDIS 上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# ...
- Laravel 中使用 Redis 数据库
一.前言 Redis 是一个开源高效的键值对存储系统,它通常用作为一个数据结构服务器来存储键值对,它可以支持字符串.散列.列表.集合.有序集合. 1. 安装 predis/predis 在 Larav ...
- 在AspNetCore 中 使用Redis实现分布式缓存
AspNetCore 使用Redis实现分布式缓存 上一篇讲到了,Core的内置缓存:IMemoryCache,以及缓存的基础概念.本篇会进行一些概念上的补充. 本篇我们记录的内容是怎么在Core中使 ...
- SpringBoot中集成redis
转载:https://www.cnblogs.com/zeng1994/p/03303c805731afc9aa9c60dbbd32a323.html 不是使用注解而是代码调用 需要在springbo ...
随机推荐
- ubuntu16.04上在使用搜狗输入法时,按shift不能正常切换中英文
问题描述: ubuntu16.04上在使用搜狗输入法时,不知道把什么组合键给错按了,导致了按shift不能正常切换中英文,这是一件很烦恼的事儿! 解决步骤: 1,终端输入打开: fcitx-confi ...
- Codeforces 455C
题目链接 C. Civilization time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 从0开始学习 GitHub 系列之「06.团队合作利器 Branch」
Git 相比于 SVN 最强大的一个地方就在于「分支」,Git 的分支操作简直不要太方便,而实际项目开发中团队合作最依赖的莫过于分支了,关于分支前面的系列也提到过,但是本篇会详细讲述什么是分支.分支的 ...
- Nginx 对访问量的控制
目的 了解 Nginx 的 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 模块,对请求访问量进行控制. Nginx 模块化 nginx ...
- Android基础&进阶
基础总结篇之一:Activity生命周期 基础总结篇之二:Activity的四种launchMode 基础总结篇之三:Activity的task相关 基础总结篇之四:Service完全解析 基础总结篇 ...
- Codeforces 293B Distinct Paths DFS+剪枝+状压
目录 题面 题目链接 题意翻译 输入输出样例 输入样例#1 输出样例#1 输入样例#2 输出样例#2 输入样例#3 输出样例#3 输入样例#4 输出样例#4 说明 思路 AC代码 总结 题面 题目链接 ...
- Liferay 7 OSGi第三方jar包依赖问题
发现遇到这个问题的人挺多的,现在跟新一下好好写. 在开发Liferay的时候,我们常常会遇到Unresolved requirement: Import-Package: {package name} ...
- VUE中的style 样式处理的Scope (<style scope>)
在VUE组件中,为了让样式私有化,不对全局造成污染,可以在style标签上添加scoped属性以表示它的只属于当下的模块. 但是这样的话,就会导致无法修改其他第三方组件样式,或者是内嵌的样式,解决方案 ...
- Ceph 之Multisite 下的bucket reshard
目录 一.背景和问题 二.bucket reshard 过程 主集群信息汇总 Multisite 下手动reshard References 一.背景和问题 默认情况下只有当单个bucket承载的ob ...
- python三种导入模块的方法和区别
方法一: import modname 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段.只要导入了一个模块,就可以引用它的任何公共的函数.类或属性.模块可以通过这种方法来 使用其它 ...