MongoDB学习1—MongoDB简介 1. MongoDB介绍1.1. 什么是MongoDBMongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统,旨在为WEB应用提供可扩展的高性能数据存储解决方案。它将数据存储为一个文档,数据结构由键值(key=>value)对组成,MongoDB文档类似于JSON对象,字段值可以包含其他文档,数组即文档数组。 1.2. 特点MongoDB具有以下特点: 文 2024-04-03 #中间件 #MongoDB
Redis学习6—Redis分布式锁 1. 引言1.1. 分布式锁分布式锁(Distributed Lock)是一种用于分布式系统中实现互斥访问的机制,在分布式系统中,多个节点同时访问共享资源可能导致数据不一致或竞态条件的问题,分布式锁通过协调多个节点之间的访问,确保在同一时间只有一个节点能获得对共享资源的独占访问权限,从而解决并发访问问题。 1.2. 分布式锁实现方式常用的分布式锁实现方式有:1)基于数据库的分布式锁(乐观锁):使用 2024-04-02 #中间件 #Redis
Redis学习5-Redis应用之签到 1. Redis位图bitMap位图由一系列二进制位组成,每个位可以被设置为1或0,当我们在处理需要高效存储和操作大量二进制位数据的适合,位图是一个非常有用的工具。位图操作命令有: SETBIT:设置位图中指定位置的位的值。可以将位设置为 0 或 1。 GETBIT:获取位图中指定位置的位的值。 BITCOUNT:计算位图中置为 1 的位的数量。 BITOP:对多个位图执行逻辑运算(AND、OR 2024-04-02 #中间件 #Redis
Redis学习4—Redis应用之限流 1. 引言Redis作为一个内存数据库其读写速度非常快,并且支持原子操作,这使得它非常适合处理频繁的请求,一般情况下,我们会使用Redis作为缓存数据库,但处理做缓存数据库之外,Redis的应用还十分广泛,比如这一节,我们将讲解Redis在限流方面的应用。 2. 通过setnx实现限流我们通过切面,来获取某给接口在一段时间内的请求次数,当请求次数超过某个值时,抛出限流异常,直接返回,不执行业务逻辑 2024-04-02 #中间件 #Redis
Redis学习3—Redis应用之缓存 1. 引言1.1. 缓存的意义Redis作为一个NoSql数据库,被广泛的当作缓存数据库使用,所谓缓存,就是数据交换的缓冲区。使用缓存的具体原因有: 缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘,通过缓存,可以大大降低用户访问并发量带来的服务器读写压力。 实际开发过程中,企业的数据量,少则几十万,多则上千万,如此大的数据量,如果没有缓存来作为“避震器”,系统是几乎撑不住的, 2024-04-02 #中间件 #Redis
Redis学习2—SpringBoot整合Redis、Redis工具类 1. 依赖和配置1.1. pom.xmlSpringBoot整合Redis,需要引入spring-boot-starter-data-redis依赖 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo 2024-04-02 #中间件 #Redis
Redis学习1-Redis简介、基础 1. 介绍1.1. redis简介Redis(Remote Dictonary Server) 是由Salvatore Sanfilippo开发的key-value缓存数据库,基于C语言开发。目前市面上,Redis和MongoDB是当前使用最广泛的NoSQL,而就Redis技术而言,它的性能十分优越,可以支持每秒十几万此的读/写操作,其性能远超数据库,并且还支持集群、分布式、主从同步等配 2024-04-02 #中间件 #Redis
Nacos学习2—Nacos配置中心 在上一节中,介绍了Nacos配置中心的入门使用,在这一节,会讲解关于nacos配置中心的其他概念,比如命名空间、共享配置、以及如何在服务端更新nacos配置。 1. nacos的基础概念如下图所示,在nacos配置中,namespace、group、dataId为最基础的、最重要的三个概念。namespace: 命名空间可用于进行不同环境的配置隔离。一般一个环境划分到一个命名空间group: 配置 2024-04-02 #中间件 #Nacos
Nacos学习1—介绍、配置中心 1. 背景在之前的Spring Cloud Gateway学习中,我们了解了网关相关配置,包括断言、过滤器等内容。在之前的文章中,我们是将这些配置,写到application.yml上,而一般情况下,我们Spring Cloud Gateway的网关配置,肯定不会是一成不变的,如果配置信息是在application.yml上,那么当我们需要添加其他的路由配置时,就先修改application.ym 2024-04-02 #中间件 #Nacos
SpringGateway学习2 1. 断言在上一节中,我们的gateway应用,它的配置文件为: 123456789101112131415server: port: 80spring: cloud: gateway: enabled: true routes: - id: app-service1 uri: http://localhost:9000 2024-04-02 #SpringBoot #SpringGateway