愚公搬代码
《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
展开
-
【愚公系列】2022年12月 .NET架构班 005-ABP vNext在MAUI项目使用
本架构班内容都会有源码见文末,以.NET 6为最新技术栈介绍本班内容配置环境vs2022NET 6window11。原创 2022-12-22 04:00:00 · 8885 阅读 · 1 评论 -
【愚公系列】2022年07月 .NET架构班 085-微服务专题 Abp vNext微服务网关
API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能,通常网关也是提供REST/HTTP的访问API。要特别注意一下BaseUrl是我们外部暴露的Url,比如我们的Ocelot运行在http//150.150.1.1的一个地址上,但是前面有一个nginx绑定了域名http//api.like.cn,那这里我们的BaseUrl就是http//api.like.cn。这个功能是用的Pollly来实现的,我们只需要为路由做一些简单配置即可。......原创 2022-07-31 21:31:38 · 8804 阅读 · 0 评论 -
【愚公系列】2022年07月 .NET架构班 084-微服务专题 Abp vNext微服务通信
微服务之间的通信,需要根据业务需求和架构的实际情况选择合适的方案,基于HTTP的RESTAPI是最常见的选择,但并不是唯一的选择,需要考虑复杂性、性能、可扩展性等方面的权衡。微服务1和微服务2之间建立连接,然后通过连接,微服务1向微服务2请求数据。这就是微服务连接。............原创 2022-07-23 14:09:11 · 10084 阅读 · 0 评论 -
【愚公系列】2022年06月 .NET架构班 083-微服务专题 Abp vNext基本CRUD实现
在Acme.BookStore.Domain项目中创建一个 Books 文件夹(命名空间),并在其中添加名为 Book 的类,如下所示:在Acme.BookStore.Domain.Shared项目中创建Books文件夹(命名空间),并在其中添加BookType:EF Core需要你将实体和 DbContext 建立关联.最简单的做法是在Acme.BookStore.EntityFrameworkCore项目的BookStoreDbContext类中添加DbSet属性.如下所示:打开BookStore原创 2022-06-15 15:15:29 · 18337 阅读 · 1 评论 -
【愚公系列】2022年06月 .NET架构班 082-微服务专题 Abp vNext微服务框架搭建
创建Products文件夹在Products文件夹中创建解决方案XT.Microservices输入命令:输入命令:输入命令:输入命令:输入命令:在XT.Microservices解决方案文件夹中创建microservices文件夹。然后在microservices文件夹中引入订单,商品,支付,用户4个模块中Host项目中在XT.Microservices解决方案文件夹中创建aggregateservices文件夹创建aggregateservices解决方案文件夹1、 在XT.Order.HttpA原创 2022-06-13 23:43:44 · 18481 阅读 · 0 评论 -
【愚公系列】2022年06月 .NET架构班 081-分布式中间件 ScheduleMaster的API自定义任务
为了方便业务系统更好的接入调度系统,创建任务不仅可以在控制台中实现,系统也提供了WebAPI供业务系统使用代码接入,这种方式对延时任务来说尤其重要。对于开放接口来说,使用签名验证已经是必不可少的一环,这是保证系统安全性的重要手段。看一下核心对接流程:在控制台中创建好专用的API对接用户账号。使用对接账号的用户名设置为http header中的值。使用经过哈希运算过的秘钥设置为http header中的,计算规则:按{用户名}{hash(密码)}{用户名}的格式拼接得到字符串str,然后再对str做一次has原创 2022-06-12 13:57:29 · 18308 阅读 · 0 评论 -
【愚公系列】2022年06月 .NET架构班 080-分布式中间件 ScheduleMaster的Master集群和数据库切换
Nginx下载网址: http://nginx.org/download/nginx-1.20.2.zip使用cmd输入命令:nginxScheduleMaster默认数据库,是MySQL,如果想切换到其他数据库,应该如何切换呢?例如,切换到SqlServer 或者postgresql数据库进入Hos.ScheduleMaster.Web publish文件,找到appsettings.json进入到appsettings.json文件中,修改配置2.Hos.ScheduleMaster.Quart原创 2022-06-12 08:57:50 · 18141 阅读 · 0 评论 -
【愚公系列】2022年06月 .NET架构班 079-分布式中间件 ScheduleMaster的集群原理
当worker1宕机,任务会自动切换到worker2上面运行,当worker2宕机,任务会自动切换到worker1上面运行,主要依靠什么什么做到的?核心:健康检测,故障转移1、进入到Hos.ScheduleMaster.Web项目中,找到SystemSchedulerRegistry类2、然后SystemSchedulerRegistry找到WorkerCheckJob类3、然后在WorkerCheckJob类中找到NodeService,进入到Hos.ScheduleMaster.Core项目4原创 2022-06-10 23:48:15 · 18122 阅读 · 0 评论 -
【愚公系列】2022年06月 .NET架构班 078-分布式中间件 ScheduleMaster的Worker集群
目前,我们只启动了一个Master,Worker节点,节点名称为Worker1,取消任务是在Worker节点中进行运行的,如果Worker1节点宕机了,会导致取消任务无法运行!如何保证订单取消任务在这种情况下能够运行?方案:Worker节点集群进入到Hos.ScheduleMaster.QuartzHost publish目录中1、增加配置2、启动程序在CMD中输入命令:dotnet Hos.ScheduleMaster.QuartzHost.dll –urls http://*:300023原创 2022-06-10 23:43:23 · 18141 阅读 · 0 评论 -
【愚公系列】2022年06月 .NET架构班 077-分布式中间件 ScheduleMaster加载程序集定时任务
在微服务系统中,默认使用Http接口进行任务处理,如果需要的处理的任务不能提供Http,希望能够使用ScheduleMaster的程序集任务通过nuget引入:3.进入到bin发布目录中ScheduleService打包成ScheduleService.zip文件注意:Hos.ScheduleMaster.Base.dll 不要打包到zip文件中,防止冲突问题进入到ScheduleMaster后台控制台界面,选择任务列表然后点击创建任务,创建程序集任务然后进入到元数据配置,上传程序集在程序原创 2022-06-10 23:34:17 · 18001 阅读 · 0 评论 -
【愚公系列】2022年06月 .NET架构班 076-分布式中间件 ScheduleMaster的执行原理
任务全局执行流程:客户端—>master—>work–>调用接口1、master节点主要做了四件事情2、work节点主要做了四件事情如图所示: 表结构设计为3大块组成 1、任务表 :任务表以schedules表为代表 2、节点表:节点表以servernodes表为代表 3、系统表:系统表以系systemusers为代表 这三个表为主表,这三个表在启动Hos.ScheduleMaster.Web项目的时候,会启动进行创建。记录了任务信息,节点信息,用户信息。1、进入ScheduleControl原创 2022-06-09 22:16:36 · 18195 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 075-分布式中间件 ScheduleMaster的基本使用
文章目录一、ScheduleMaster的介绍1.ScheduleMaster的基本概念2.ScheduleMaster的架构引进2.1 传统解决方案2.2 ScheduleMaster解决方案二、ScheduleMaster的基本使用1.ScheduleMaster准备2.MySQL准备3.Net Core客户端准备3.1 新建测试业务类3.2 然后通过CMD启动程序4.Hos.ScheduleMaster.Web准备4.1 配置数据库4.2 进入到`Hos.ScheduleMaster.Web publ原创 2022-05-29 22:56:20 · 21962 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 074-分布式中间件 Minio多租户
文章目录前言1.多租户的概念2.Minio多租户一、Minio多租户的使用1.租户1启动 1.1 进入到Minio目录中 1.2 然后输入以下命令 1.3 进入到Minio查看结果 1.4 项目连接2.租户2启动 2.1 进入到Minio目录中 2.2 然后输入以下命令 2.3 进入到Minio查看结果 2.4 项目连接3.租户3启动 3.1 进入到Minio目录中 3.2 然后输入以下命令 3.3 进入到Minio查看结果 3.4 项目连接前言1.多租户的概念多租户技术或称原创 2022-05-29 21:50:06 · 21929 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 073-分布式中间件 Minio的落地情况分析
文章目录一、单主机/多硬盘模式-情况11.租户1单主机,多硬盘启动1.1 进入到Minio目录中1.2 然后输入以下命令1.3 进入到Minio查看结果1.3.1 进入到tenant1目录中2.租户2单主机,多硬盘启动2.1 进入到Minio目录中2.2 然后输入以下命令2.3 进入到Minio查看结果2.3.1 进入到tenant2目录中3.租户3单主机,多硬盘启动3.1 进入到Minio目录中3.2 然后输入以下命令3.3 进入到Minio查看结果3.3.1 进入到tenant3目录中二、单主机/多硬盘原创 2022-05-28 00:00:16 · 14584 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 072-分布式中间件 Minio的集群
文章目录一、Minio集群概念1.单主机/多硬盘模式二、Minio集群落地1.单主机,多硬盘模式搭建1.1 进入到Minio目录中1.2 然后输入以下命令1.3 进入到Minio查看结果2.Minio单主机/多硬盘原理2.1 多副本2.2 纠删码3.Minio使用纠删码一、Minio集群概念1.单主机/多硬盘模式一个主机下,有多个硬盘或者多个磁盘来存储文件。如果所示:架构说明1、1个主节点(Master node)管理索引(创建索引、删除索引)、分配分片维护元数据管理集群节点状态,一个Mi原创 2022-05-27 23:17:58 · 14664 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 071-分布式中间件 Minio的使用
文章目录一、MinIO的基本概念二、MinIO的基本使用1.前提准备2.具体使用2.1 启动Minio2.2 上传单个文件2.3 批量上传文件2.4 下载单个文件2.5 批量下载文件一、MinIO的基本概念Minio是一个基于Apache License v2.0开源的分布式对象存储服务。它兼容亚马逊S3云存储服务接口,异常符合于存储大容量非构造化的数据,比如图片、视频、日记文献、备份数据和容器/杜撰机镜像等,而一个工具文献能够是任性巨细,从几kb到最大5T不等。且Minio十足笨重,可与使用顺序绳捆原创 2022-05-27 00:28:51 · 14820 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 070-分布式中间件 Elasticsearch集群数据存储原理和分片
文章目录一、Elasticsearch存储数据原理二、Elasticsearch查询数据原理三、集群分片1.集群分片-情况1一、Elasticsearch存储数据原理核心细节如下:shard = hash(routing) % number_of_primary_shards1、先Hash,先对文档_idHash,2、然后取模,然后对分片数取模流程如下:以下是在主副分片和任何副本分片上面成功新建,索引和删除文档所需要的步骤顺序:客户端向 Node 1 发送新建、索引或者删除请求。节原创 2022-05-24 22:14:33 · 14603 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 069-分布式中间件 Elasticsearch集群的搭建
文章目录一、Elasticsearch集群的搭建1.Master准备1.1 先创建Elasticsearch Master节点1.2 然后在Elasticsearch中config目录中,找到elasticsearch.yml文件1.3 然后elasticsearch.yml内添加内容1.4 然后进入Elasticsearch bin目录中启动2.Elasticsearch DataNode节点1准备2.1 先创建Elasticsearch DataNode节点2.2 然后在Elasticsearch中co原创 2022-05-24 22:07:16 · 14472 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 068-分布式中间件 Elasticsearch实际业务落地
文章目录一、聚合商品业务场景落地1.代码实现2.聚合商品数据原理二、查询商品分页业务场景落地三、删除商品业务场景落地四、修改商品业务场景落地一、聚合商品业务场景落地1.代码实现聚合:就是统计。做报表的核心方式1、先在ProductController类中添加代码/// <summary> /// 商品控制器 /// </summary> [ApiController] [Route("Product")] public class原创 2022-05-16 23:24:49 · 14385 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 067-分布式中间件 Elasticsearch分词器
文章目录一、ElasticSearch-分词器1.什么是分词器2.ElasticSearch分词器类型2.1 ElasticSearch之内置分词器2.2 ElasticSearch之IK分词器二、.NET Core ElasticSearch分词器落地1.创建项目2.下载Elasticsearch3.然后启动Elasticsearch4、在项目中引入NEST三、ElasticSearch根据片段查询出文档四、ElasticSearch Analyzer 分析器执行原理ElasticSearch 如何指原创 2022-05-16 22:54:36 · 14611 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 066-分布式中间件 Elasticsearch搜索数据原理
文章目录前言1.正排索引2.倒排索引一、Elasticsearch搜索数据原理1.倒排索引的生成过程2.倒排索引的结构3.倒排索引磁盘结构4.倒排索引存储结构5.倒排索引term索引6.完整搜索过程前言1.正排索引正排索引也称为"前向索引"。它是创建倒排索引的基础,具有以下字段。LocalId字段(表中简称"Lid"):表示一个文档的局部编号。WordId字段:表示文档分词后的编号,也可称为"索引词编号"。NHits字段:表示某个索引词在文档中出现的次数。HitList变长字段:表示某个索原创 2022-05-11 23:04:46 · 14352 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 065-分布式中间件 .Net Core下使用Elasticsearch落地情况分析和封装
文章目录一、.Net Core下使用Elasticsearch落地情况分析1.查询商品业务场景落地2.搜索商品业务场景落地二、.Net Core下使用Elasticsearch的封装1.nuget包2.控制器3.CRUD封装三、扩展1.索引操作1.1 创建索引1.2 查看索引1.3 删除索引2.文档操作2.1 插入文档2.2 更新文档2.3 删除文档2.4 获取文档2.5 搜索文档3.文档数据操作3.1 文档数据更新3.2 文档数据读取3.3 文档数据查询一、.Net Core下使用Elasticsea原创 2022-05-10 23:34:39 · 14929 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 064-分布式中间件 Elasticsearch数据存储原理和结构
文章目录一、Elasticsearch数据存储原理1.数据存储过程如下2.数据写入防止丢失2.数据存储过程完整结构图如下二、Elasticsearch数据设计结构一、Elasticsearch数据存储原理ES底层是基于Lucene,最核心的概念就是Segment(段),每个段本身就是一个倒排索引。ES中的Index由多个段的集合和commit point(提交点)文件组成。提交点文件中有一个列表存放着所有已知的段。1.数据存储过程如下步骤如下:不断将 Document 写入到 In-mem原创 2022-05-10 21:35:34 · 10555 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 063-分布式中间件 .NET Core下Elasticsearch的基本使用
文章目录一、.NET Core下Elasticsearch的基本使用1.前提1.1 jdk1.2 Elasticsearch准备1.3 可视化工具kibana下载2.使用2.1 nuget安装包2.2 相关接口和类2.3 使用总结一、.NET Core下Elasticsearch的基本使用1.前提1.1 jdkjava是当前比较流行的一种编程语言,当我们开始学习java的时候肯定会先要安装jdk,然后进行环境变量控制。JRE(Java Runtime Environment ) Java运原创 2022-05-10 00:08:13 · 14184 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 062-分布式中间件 Elasticsearch的介绍
文章目录前言一、Elasticsearch的诞生背景1.单体电商系统2.电商微服务系统3.电商微服务系统Elasticsearch的架构前言Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Ja原创 2022-05-09 23:29:52 · 13536 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 061-分布式中间件 Mongodb分片
文章目录前言一、Mongodb分片架构说明二、Mongodb分片部署1.配置文件2.数据目录3.日志目录4.启动实例5.角色分配6.MongoDB Config Server6.1 配置文件6.2 数据目录6.2 日志目录6.3 实例启动6.4 角色分配7. MongoDB Routers7.1 配置文件7.2 数据目录7.3 实例启动三、.NET Core使用前言mongodb分片就是将大型集合分割到不同的服务器上,它可以自动且均衡的分配数据。它一般是针对特别大的需求,比如一个集合需要非常的大,几百原创 2022-05-08 23:21:11 · 14094 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 060-分布式中间件 Mongodb复制集
文章目录前言1.什么是复制集2.复制集的作用3.MongoDB复制集集群一、Mongodb复制集的搭建1.MongoDB中创建3个配置文件2.MongoDB中创建3个数据目录和日志目录3.MongoDB多个实例启动3.1 mongod-27018实例启动3.2 mongod-27018实例启动3.3 mongod-27018实例启动4.MongoDB复制集角色分配4.1 primary节点初始化4.2 primary节点添加从节点4.3 MongoDB复制集Compass连接4.4 MongoDB复制集.原创 2022-05-08 21:47:08 · 14136 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 059-分布式中间件 .Net Core下使用Mongodb的封装
文章目录一、Mongodb的基本概念1.Mongodb的数据结构2.Mongodb数据类型二、Mongodb的代码封装1.配置文件2.扩展类3.注入扩展类4.使用4.1 相关依赖4.使用一、Mongodb的基本概念1.Mongodb的数据结构SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域原创 2022-05-08 21:29:56 · 13685 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 058-分布式中间件 .Net Core下使用Mongodb增删改查
文章目录前言一、.Net Core下使用Mongodb落地情况分析1.批量添加2.条件查询3.批量查询4.分页查询5.数据删除6.数据更新前言mysql和mongdb区别:MySQLMongoDB表集合行文档列字段joins嵌入文档或者链接Mongodb语法汇总如下:# 插入db.集合名称.insert(数据)#查找全部db.集合名称.find()#查询一个db.集合名称.findOne({userid:'01'})db.集合名称.f原创 2022-05-06 23:59:17 · 13778 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 057-分布式中间件 Mongodb的架构
文章目录前言一、MongoDB全局架构设计二、MongoDB Wiredtiger架构设计1.Wiredtiger引擎写入原理2.Wiredtiger数据防丢失原理2.1 journaling buffer2.2 journal 文件3.Wiredtiger 索引原理前言mongodb是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。mongodb是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持原创 2022-05-06 23:31:59 · 14387 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 056-分布式中间件 .Net Core下Mongodb基本使用
文章目录前言1.什么是MongoDB2.什么是文档一、Mongodb诞生背景1.单体电商系统2.电商微服务系统3.电商微服务系统-MongoDB二、Mongodb前提准备1.MongoDB2.MongoDB Compass三、启动Mongodb1.先进入到MongoDB中2.然后打开MongoDB.conf配置,在里面添加3.启动MongoDB四、.Net Core下Mongodb基本使用1.下载对应的包2.封装3.配置4.注入到控制器前言1.什么是MongoDBMongoDB是文档数据库,专门用来原创 2022-05-04 23:32:26 · 14550 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 055-分布式中间件 Redis集群的搭建
文章目录前言一、redis-cluster集群配置1.在redis中创建6个配置文件 1.1 在redis.6380.conf文件中,添加内容 1.2 在redis.6381.conf文件中,添加内容 1.3 在redis.6382.conf文件中,添加内容 1.4 在redis.6383.conf文件中,添加内容 1.5 在redis.6384.conf文件中,添加内容 1.6 在redis.6385.conf文件中,添加内容2.启动6个redis实例2.1 启动 redis.6380.con原创 2022-05-04 22:10:00 · 13928 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 054-分布式中间件 Redis集群的三种方式
文章目录前言一、Redis集群1.主从同步/复制2.哨兵模式3.Cluster 集群(官方推荐)前言单体redis如下:缺陷:单体redis可能由于各种原因导致宕机的问题。所以,需要使用redis主从集群一、Redis集群Redis 集群的三种模式主从同步/复制哨兵模式Cluster 集群(官方推荐)1.主从同步/复制在复制的概念中,数据库分为两类,一类是主数据库(master),另一类是从数据库(slave)。主数据库可以进行读写操作,当写操作导致数据变化时会自动将数据同步给从原创 2022-05-03 23:44:10 · 13914 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 053-分布式中间件 .Net Core下使用Redis秒杀场景落地情况分析
文章目录前言一、Redis秒杀场景落地情况分析1.扣减商品库存业务场景落地2.分布式锁实现秒杀前言所谓秒杀,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢购的一种销售方式。由于商品价格低廉,往往一上架就被抢购一空,有时只用一秒钟。虽说秒杀只是一个促销活动,但对技术要求不低。一、Redis秒杀场景落地情况分析1.扣减商品库存业务场景落地基本的业务逻辑有四步:获取商品库存判断商品库存是否为空秒杀消息扣减商品库存/// <summary>/// 商品控制器/原创 2022-05-03 23:21:26 · 14312 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 052-分布式中间件 .Net Core下使用Redis落地情况分析
文章目录一、.Net Core下使用Redis高级使用1.存储商品对象,一条商品数据2.存储商品对象-集合商品数据3.存储商品对象-集合-分页查询4.存储商品对象-字典形式5.存储商品对象-事务6.存储商品对象-批量操作一、.Net Core下使用Redis高级使用1.存储商品对象,一条商品数据情况:当客户端通过集群电商系统从redis中查询数据的时候,如何实现查询呢?方案:单个查询#region 1、存储商品对象,一条商品数据{ // 1、从redis中取对象 string原创 2022-05-02 22:12:20 · 13965 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 051-分布式中间件 Redis存储原理之持久化存储
文章目录前言一、Redis存储原理之持久化存储1.RDB方式1.1 优点1.2 缺点2.AOF方式2.1 优点2.1 缺点3.AOF+RDB混合3.1 优点前言Redis是基于内存的,一旦Redis服务器宕机,内存中的数据会全部丢失。如果从后端数据库中来恢复Redis内存会产生以下问题:会给数据库带来巨大的压力。从数据库拉取数据性能较低会导致应用程序响应变慢。Redis存储数据可能是临时性的。因此,Redis的数据持久化很重要,而且不能从后端数据库中恢复。一、Redis存储原理之持久化原创 2022-05-02 19:59:08 · 13653 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 050-分布式中间件 Redis存储原理之ZSet
文章目录前言1.ZSet的概念2.skiplist的概念一、Redis存储原理之ZSet1.ZSet原理2.ZSet编码类型3.应用场景4.相关操作命令前言1.ZSet的概念排序的set,去重但是可以排序,写进去的时候给一个分数,自动根据分数排序,最大的特点是有个分数可以自定义排序规则。ZSet、List、Set比较:数据结构是否允许重复元素是否有序有序实现方式列表 list是是索引下标集合Set否否无有序集合zset否是分值score原创 2022-05-02 17:14:31 · 14057 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 049-分布式中间件 Redis存储原理之Set
文章目录前言一、Redis存储原理之Set2.Set编码类型3.应用场景4.相关操作命令前言Redis 的 Set 是 string 类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。添加一个 string 元素到 key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0。Set 和list一样。可添加,删除,或判断元素是否存在的操作。Set 和list类型不同,不允许出现重复的元素。和c++的set容器是完全相同。set类型功能上存在服务原创 2022-05-02 15:02:58 · 13989 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 048-分布式中间件 Redis存储原理之List
文章目录前言一、Redis存储原理之List1.List结构2.List编码类型3.应用场景4.相关操作命令前言Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。存储有序的字符串(从左到右),元素可以重复。可以充当队列和栈的角色。一、Redis存储原理之List1.List结构List主要是用quicklist 来存储。quicklist 存储了一个双向链表,每个节点都是一个 ziplist。quicklist 结构如下:typ原创 2022-05-02 11:52:58 · 13626 阅读 · 0 评论 -
【愚公系列】2022年05月 .NET架构班 047-分布式中间件 Redis存储原理之Hash
文章目录前言一、Redis存储原理之Hash1. Hash结构2.Hash编码类型3.应用场景4.Hash和String区别前言hash类似map的一种结构,可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)缓存在redis里,然后每次读写缓存的时候,可以操作hash里的某个字段。key=愚公value={ id: 150, name: “zhangsan”, age: 20}hash的数据结构,主要是用来存放一些对象,把一些简单的对象给缓存起来,后续操作的时候,你可原创 2022-05-02 11:26:37 · 14181 阅读 · 0 评论