.NET分布式缓存Redis从⼊门到实战
⼀、课程介绍
今天阿笨给⼤家带来⼀堂NOSQL的课程,本期的主⾓是Redis。希望⼤家学完本次分享课程后对redis有⼀个基本的了解和认识,并且熟悉和掌握 Redis在.NET中的使⽤。本次分享课程包含以下知识点: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的事务、锁。
如果您同样对本次分享《.NET分布式缓存Redis从⼊门到实战》课程感兴趣的话,那么请跟着阿笨⼀起学习吧。
废话不多说,直接上⼲货,我们不⽣产⼲货,我们只是⼲货的搬运⼯。
⼆、概念名称含义解释
2.1、什么是Redis?
Redis是⼀个开源的,使⽤C语⾔编写,⾯向“键/值”对类型数据的分布式NoSQL数据库系统,Redis纯粹为应⽤⽽产⽣,它是⼀个⾼性能的key-value数据库,特点是⾼性能,持久存储,适应⾼并发的应⽤场景,并且提供了多种语⾔的。
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系统上的安装
推荐⼤家下⾯⼏个学习Redis的⽹站:
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#开发的话, 是很好的选择 。
nguet安装指令如下:  Install-Package StackExchange.Redis
2、ServiceStack.Redis(简称SS)
Redis推荐的最好的.Net客户端ServiceStack。 ServiceStack.Redis 4.0 已经收费,因此我们使⽤4.0以下版本。
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的事务、锁。
七、源码在线学习和演⽰
源代码在线演⽰和解读
⼋、总结
由于Redis涉及的知识点⽐较多,阿笨这次分享课程不能做到⾯⾯俱全,关于Redis⼀些的⾼级功能只能靠⼤家在以后⼯作中不断的总结和完善。本次分享课程遵循⼀个原则就是:从实战中来,到实战就去。曾经有⼀位讲师说过:⼀切只讲理论基础知识,不结合实战演练的课程都是耍流氓!因此还需要靠各位童鞋们不断的⾃我深⼊学习和了解Redis相关⽅⾯的知识。我们学习⼀门新技术⼀定要与实际项⽬相结合,解决我们的业务问题,达到学以致⽤,活学活⽤的⽬的。最后还是送⼤家⼀句话:师⽗领进门修⾏在个⼈,希望⼤家在学习的道路上⼀直坚持下去!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。