.NET分布式缓存Redis从入门到实战

一、课程介绍

今天阿笨给大家带来一堂NOSQL的课程,本期的主角是Redis。希望大家学完本次分享课程后对redis有一个基本的了解和认识,并且熟悉和掌握 Redis在.NET中的使用。本次分享课程包含以下知识点:

1、StackExchange.Redis (简称:SE)驱动在C#中Redis几种数据结构学习和使用。

2、ServiceStack.Redis ( 简称: SS) 驱动在C#中Redis几种数据结构学习和使用。

3、Redis主从集群服务器搭建和学习。

4、在
http://ASP.NET中Redis如何进行Session托管。

5、在C#中如何使用Redis的生产者/消费者。

6、在C#中如何使用Redis的发布/订阅功能。

7、在C#中如何使用Redis的事务、锁。

如果您同样对本次分享
《.NET分布式缓存Redis从入门到实战》课程感兴趣的话,那么请跟着阿笨一起学习吧。

废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

二、概念名称含义解释

2.1、什么是Redis?

Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,Redis纯粹为应用而产生,它是一个高性能的key-value数据库,特点是高性能,持久存储,适应高并发的应用场景,并且提供了多种语言的
API

Redis官网:
https://redis.io/

多语言客户端驱动下载:
https://redis.io/clients

2.2、Redis特点

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 与其他 key – value 缓存产品有以下三个特点:

● Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

● Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

● Redis支持数据的备份,即master-slave模式的数据备份。

三、Redis For Windows安装手册

3.1、Redis 在Windows系统上的安装

官网只提供linux版本的下载官网下载地址:
http://redis.io/download

windows 版本的github下载地址:
https://github.com/MSOpenTech/redis/tags

推荐大家下面几个学习Redis的网站:

Redis中文网:
http://www.redis.net.cn/

可以在线编写Redis指令的网站:
http://try.redis.io/
http://doc.redisfans.com/
3.2、Redis服务器主从集群的搭建

四、Redis几种数据结构

1、String( 字符串 )

这是最简单的Redis类型。如果只使用这种类型,Redis就像一个可持久化的Memcached服务器。

2、List(列表)

Redis的List是基于双向链表实现的,可以支持反向查找和遍历。

常用案例:聊天系统、社交网络中获取用户最新发表的帖子、简单的消息队列、新闻的分页列表、博客的评论系统。

3、Hash( 哈希 )

Hash是一个String类型的field和value之间的映射表,请见下图,类似于.NET中的Hashtable和Dictionary。主要用来存储对象,可以避免序列化的开销和并发修改控制的问题。

4、Set( 集合 )

Set也是一个列表,不过它的特殊之处在于它是可以自动排重的:当需要存储一个列表数据,而又不希望出现重复的时候,Set是一个很好的选择(比如ID的集合)。并且Set提供了判断某个成员是否在一个Set集合内的接口,这也是List所没有的。

5、Sorted Set(有序集合)

Sorted Set和Set的使用场景类似,区别是Sorted Set会根据提供的score参数来进行自动排序。当你需要一个有序的并且不重复的集合列表,那么就可以选择Sorted Set数据结构。常用案例:游戏中的排行榜。

五、Redis应用场景介绍

由于Redis具有的丰富数据结构,从而赋予了Redis同样也具有丰富的应用场景。比如:

1、会话缓存(Session Cache)

2、全页缓存(FPC)

3、队列

4、排行榜/计数器

5、发布/订阅

六、Redis在.NET中的使用

首先和一般数据库一样,我们连接sql数据库需要ODBC驱动,那么连接redis也不列外,这里给大家推荐两个C#驱动

1、StackExchange.Redis (简称SE)

StackExchange.Redis目前被 StackOverFlow 使用, C#开发的话, 是很好的选择 。

官网地址:
https://github.com/imperugo/StackExchange.Redis.Extensions

nguet安装指令如下: Install-Package StackExchange.Redis

2、ServiceStack.Redis(简称SS)

Redis推荐的最好的.Net客户端ServiceStack。 ServiceStack.Redis 4.0 已经收费,因此我们使用4.0以下版本。

官网地址:
https://github.com/ServiceStack/ServiceStack.Redis

nuget安装指令如下:

Install-Package ServiceStack.Common -Version 3.9.71

Install-Package ServiceStack.Text -Version 3.9.71;

Install-Package ServiceStack.Redis -Version 3.9.71;

六、Redis实战演练分享

1、
StackExchange.Redis (SE)驱动在C#中Redis几种数据结构学习和使用。

2、
ServiceStack.Redis (SS) 驱动在C#中Redis几种数据结构学习和使用。

3、 Redis主从集群服务器搭建和学习。

4、在
http://ASP.NET中Redis如何进行Session托管。

5、在C#中如何使用Redis的生产者/消费者。

6、在C#中如何使用Redis的发布/订阅功能。

7、在C#中如何使用Redis的事务、锁。

七、源码在线学习和演示

在线观看地址:跟着阿笨一起玩NET

微信公众号:ABenDotNet

八、总结

由于Redis涉及的知识点比较多,阿笨这次分享课程不能做到面面俱全,关于Redis一些的高级功能只能靠大家在以后工作中不断的总结和完善。本次分享课程遵循一个原则就是:从实战中来,到实战就去。曾经有一位讲师说过:一切只讲理论基础知识,不结合实战演练的课程都是耍流氓!因此还需要靠各位童鞋们不断的自我深入学习和了解Redis相关方面的知识。我们学习一门新技术一定要与实际项目相结合,解决我们的业务问题,达到学以致用,活学活用的目的。最后还是送大家一句话:师父领进门修行在个人,希望大家在学习的道路上一直坚持下去!

    原文作者:阿笨NET
    原文地址: https://zhuanlan.zhihu.com/p/33982643
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞