.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在.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的事务、锁。

七、源码在线学习和演示

原文地址:https://www.cnblogs.com/51net/p/8256793.html

时间: 2024-10-13 19:04:52

.NET分布式缓存Redis从入门到实战的相关文章

分布式缓存Redis Centos下单节点安装

摘要: Redis官网:http://redis.io 独立缓存服务器:IP:xxx.xxx.xxx.xxx 安装环境:CentOS 6.6 Redis 版本:redis-3.0 (因为 Redis3.0 在集群和性能提升方面的特性,rc 版为正式版的候选版,请在安装时去官网选用最新版) 用户:root 安装目录:/usr/local/redis 声明: 网上关于分布式缓存Redis的学习资料很多,大家可以去网上找些资料去学习.另外 JEESZ框架面向企业的大型互联网分布式企业架构,分布式缓存是

企业项目开发--分布式缓存Redis

第九章 企业项目开发--分布式缓存Redis(1) 注意:本章代码将会建立在上一章的代码基础上,上一章链接<第八章 企业项目开发--分布式缓存memcached> 1.为什么用Redis 1.1.为什么用分布式缓存(或者说本地缓存存在的问题)? 见<第八章 企业项目开发--分布式缓存memcached> 1.2.有了memcached,为什么还要用redis? 见<第一章 常用的缓存技术> 2.代码实现 2.1.ssmm0 pom.xml 只在dev环境下添加了以下代码

第十章 企业项目开发--分布式缓存Redis(2)

注意:本章代码是在上一章的基础上进行添加修改,上一章链接<第九章 企业项目开发--分布式缓存Redis(1)> 上一章说了ShardedJedisPool的创建过程,以及redis五种数据结构的第一种String类型的常用缓存操作方法.下面说余下的四种: list(有序列表) set(无序集合) sorted set(有序集合) hash 1.ssmm0-cache 1.1.RedisListUtil(有序列表工具类) 1 package com.xxx.cache.redis; 2 3 im

分布式缓存Redis

分布式缓存Redis参考文档http://doc.redisfans.com#######################################################Memcache与Redis对比 Memcached Redis不支持持久化 持久化纯set get性能好 不如memcached开发都会用 开发都知道简单易用 易用支持类型单一 支持多种数据类型依赖magent 集群没有验证 有基础验证session 购物车(登录前方cookis,等于后写入)tomcat-se

分布式缓存Redis应用场景解析

Redis的应用场景非常广泛.虽然Redis是一个key-value的内存数据库,但在实际场景中,Redis经常被作为缓存来使用,如面对数据高并发的读写.海量数据的读写等.举个例子,A网站首页一天有100万人访问,其中有一个"积分商城"的板块,要直接从数据库查询,那么一天就要多消耗100万次数据库请求.如果将这些数据储存到Redis(内存)中,要用的时候,直接从内存调取,不仅可以大大节省系统直接读取磁盘来获得数据的IO开销,提高服务器的资源利用率,还能极大地提升速度.随着日益增长的用户

C# Azure 分布式缓存Redis的新建与配置

1. 介绍 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键包括 string,hash,list,set,sorted set,bitmap 和 hyperloglog,所以常常被称为数据结构服务器.你可以在这些类型上面运行原子操作,例如,追加字符串,增加哈希中的值,加入一个元素到列表,计算集合的交集.并集和差集,或者是从有序集合中获取最高排名的元素. 为了满足高性能,Redis 采用内

分布式缓存Redis使用心得

一.缓存在系统中用来做什么 1. 少量数据存储,高速读写访问.通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景. 2. 海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加/删除.Redis3.0以后开始支持集群,实现了半自动化的数据分片,不过需要smart-client的支持. 二.从不同的角度来详细介绍redis 网络模型:Redis使用单线程的IO复用模型,自己封装了一个简单的AeEvent事件处理框架,主要实现

第九章 企业项目开发--分布式缓存Redis(1)

注意:本章代码将会建立在上一章的代码基础上,上一章链接<第八章 企业项目开发--分布式缓存memcached> 1.为什么用Redis 1.1.为什么用分布式缓存(或者说本地缓存存在的问题)? 见<第八章 企业项目开发--分布式缓存memcached> 1.2.有了memcached,为什么还要用redis? 见<第一章 常用的缓存技术> 2.代码实现 2.1.ssmm0 pom.xml 只在dev环境下添加了以下代码: <!-- redis:多台服务器支架用什么

C# Azure 存储-分布式缓存Redis在session中的配置

1. 开始 对于分布式的缓存,平常的session的处理是一个用户对应一台分布式的机器,如果这台机器中途挂机或者不能处理这个用户session的情况发生,则此用户的session会丢失,会发生不可预知的错误.如下图: 如果用Redis的分布式缓存,则能避免上面的情况.因为session是保存在Redis中,不会有丢失的情况,就算中途有服务器A挂掉.如下图: 2. 代码 1)在包管理器中,输入下面的包,安装 Install-Package Microsoft.Web.RedisSessionSta