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

一、课程介绍

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

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

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

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

4、在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、在ASP.NET中Redis如何进行Session托管。

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

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

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

七、源码在线学习和演示

源代码在线演示和解读

 

作者:阿笨 

      官方QQ群:422315558 跟着阿笨一起玩NET 574187616跟着阿笨一起玩NET(二) 967920586跟着阿笨一起玩ASP.NET 

      【网易云课堂主页】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628

      【腾讯课堂主页】:https://abennet.ke.qq.com/

      【微信公众号】:http://dwz.cn/ABenNET 

 

八、总结

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

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程通过实际项目融入常用开发技术架构,讲授风格独特,提供详细上课日志及答疑,赠送配套的项目架构源码注释详细清晰且表达通俗,均能直接在实际项目中应用,正真的物超所值,价格实惠任务作业:综合运用《C#/.Net企业级系统架构设计实战精讲教程》课程所学知识技能设计一个学生成绩管理系统的架构。要求:1.系统基于MVC的三层架构,各层单独建不同的解决方案文件夹。2.采用Model First开发方式,设计架构时只需要设计学生表(TbStudent)和课程表(TbCourse)。学生表必须有的字段是ID、stuName、age;课程表必须有的字段是ID、courseName、content。3.数据访问层采用Entity Framework或NHibernate来实现,必须封装对上述表的增删改查方法。4.必须依赖接口编程,也就是必须要有数据访问层的接口层、业务逻辑层的接口层等接口层。层层之间必须减少依赖,可以通过简单工厂或抽象工厂。5.至少采用简单工厂、抽象工厂、Spring.Net等技术中的2种来减少层与层之间的依赖等。6.封装出DbSession类,让它拥有所有Dal层实例和SaveChanges方法。7.设计出数据访问层及业务逻辑层主要类的T4模板,以便实体增加时自动生成相应的类。8.表现层要设计相关的控制器和视图来验证设计的系统架构代码的正确性,必须含有验证增删改查的方法。9.开发平台一定要是Visual Studio平台,采用C#开发语言,数据库为SQL Server。10.提交整个系统架构的源文件及生成的数据库文件。(注意: 作业需写在CSDN博客中,请把作业链接贴在评论区,老师会定期逐个批改~~)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值