该文被密码保护。 阅读全文
posted @ 2023-09-10 20:02
Chimengmeng
阅读(8)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 20:02
Chimengmeng
阅读(2)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 20:01
Chimengmeng
阅读(4)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 20:01
Chimengmeng
阅读(15)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 20:01
Chimengmeng
阅读(3)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 20:00
Chimengmeng
阅读(5)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 19:59
Chimengmeng
阅读(3)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 19:59
Chimengmeng
阅读(4)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 19:58
Chimengmeng
阅读(8)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 19:58
Chimengmeng
阅读(4)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 19:57
Chimengmeng
阅读(12)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 19:57
Chimengmeng
阅读(5)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2023-09-10 19:57
Chimengmeng
阅读(7)
评论(0)
推荐(0)
摘要:
【RabbitMQ总结】 【一】消息队列引入 什么是消息队列 消息队列解决的问题 常见的消息队列比较 【二】RabbitMQ安装 什么是 RabbitMQ 服务器原生安装 RabbitMQ 客户端安装 RabbitMQ Windows 安装 RabbitMQ RabbitMQ 设置用户名和密码 Ra 阅读全文
posted @ 2023-09-10 19:51
Chimengmeng
阅读(35)
评论(0)
推荐(0)
摘要:
【一】咱们开发的环境 【1】Windows开发,Linux上线 在这种情况下,我们可以在Windows上进行开发,然后将项目部署到Linux服务器上。 一般而言,我们可以使用跨平台的开发工具和技术,例如Python、Java等。 这样可以最大程度上减少开发和部署环境之间的差异。 案例: 假设我们正在 阅读全文
posted @ 2023-09-10 19:40
Chimengmeng
阅读(228)
评论(0)
推荐(0)
摘要:
【引入】 【1】为什么要使用分布式锁 我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的锁进行处理,并且可以完美的运行,毫无Bug! 注意这是单机应用,后来业务发展,需要做集群,一个应用需要部署到几台机器上然后做负载均衡,大致如下图: 上图可以看到 变量A存在 阅读全文
posted @ 2023-09-10 19:39
Chimengmeng
阅读(90)
评论(0)
推荐(0)
摘要:
【一】引入 要理解微服务,首先要先理解不是微服务的那些。 通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。 从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。 本文将以一个网上超市应用为例来说明这一过程。 【二】最初的需求 【1】萌芽 几年前,小明和小皮一起创业 阅读全文
posted @ 2023-09-10 19:39
Chimengmeng
阅读(106)
评论(0)
推荐(0)
摘要:
【一】RabbitMQ Producer:生产者,消息的提供者 Consumer:消费者,消息的使用者 Broker:MQ服务器,管理队列、消息及相关信息 Message:消息,程序间的通信的数据 Queue:队列,消息存放的容器,消息先进先出 Exchange:交换机,用于分发消息 【二】Rabb 阅读全文
posted @ 2023-09-10 19:39
Chimengmeng
阅读(862)
评论(0)
推荐(1)
摘要:
【一】RPC介绍 【1】介绍 RPC(Remote Procedure Call)是一种远程过程调用的协议,它允许一个计算机程序通过网络请求调用远程服务器上的一个子程序或函数。 基于RabbitMQ实现的RPC可以更加可靠地实现远程过程调用。 【2】分布式的系统中使用 微服务之间的调用 resful 阅读全文
posted @ 2023-09-10 19:38
Chimengmeng
阅读(112)
评论(0)
推荐(0)
摘要:
【一】发布订阅 【1】发布者 import pika # 【1】创建连接并设置认证信息 credentials = pika.PlainCredentials("admin","admin") connection = pika.BlockingConnection(pika.ConnectionP 阅读全文
posted @ 2023-09-10 19:38
Chimengmeng
阅读(267)
评论(0)
推荐(0)
摘要:
【一】闲置消费介绍 正常情况如果有多个消费者,是按照顺序第一个消息给第一个消费者,第二个消息给第二个消费者 但是可能第一个消息的消费者处理消息很耗时,一直没结束,就可以让第二个消费者优先获得闲置的消息 传统情况下,如果有多个消费者,消息会按顺序依次发送给每个消费者。 但是,如果第一个消费者处理消息的 阅读全文
posted @ 2023-09-10 19:38
Chimengmeng
阅读(63)
评论(0)
推荐(0)
摘要:
【一】消息安全之ack ACK是一种确认机制,用于确保消息在消费者接收后被正确处理。 当消费者接收到消息并成功处理时,它发送一个ACK(Acknowledgement)给生产者,表示消息已经处理完毕。 只有在收到ACK之后,生产者才会从队列中删除该消息。 我们使用RabbitMQ作为消息中间件,并通 阅读全文
posted @ 2023-09-10 19:38
Chimengmeng
阅读(139)
评论(0)
推荐(0)
摘要:
【一】基于Queue实现生产者消费者模型 import queue import threading message = queue.Queue(10) def producer(i): while True: message.put(i) def consumer(i): while True: 阅读全文
posted @ 2023-09-10 19:37
Chimengmeng
阅读(46)
评论(0)
推荐(0)
摘要:
【一】RabbitMQ是什么 官网:https://www.rabbitmq.com/getstarted.html 【1】介绍 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 AMQP :Advanced Message Queue,高级消息队列协议。 它是应用层协议 阅读全文
posted @ 2023-09-10 19:37
Chimengmeng
阅读(173)
评论(0)
推荐(0)
摘要:
【一】什么是消息队列 消息队列是一种基于"先进先出"(FIFO)原则的数据结构,用于在分布式系统中进行异步通信和解耦功能模块。 它提供了一种可靠的方式来传递和存储消息,确保消息在发送和接收之间的可靠性和顺序性。 【二】消息队列解决什么问题 【1】应用解耦 通过消息队列,可以将单体应用拆分成多个小功能 阅读全文
posted @ 2023-09-10 19:37
Chimengmeng
阅读(34)
评论(0)
推荐(0)
摘要:
【1】第一步:配置文件配置多个数据库 在Django的配置文件中的DATABASES参数中,添加多个数据库的配置信息。 每个数据库都需要指定ENGINE(数据库引擎)和NAME(数据库名称),可以根据实际情况选择合适的数据库引擎和数据库名称。 例如,在配置文件中添加两个数据库配置的示例: DATAB 阅读全文
posted @ 2023-09-10 14:19
Chimengmeng
阅读(291)
评论(0)
推荐(0)
摘要:
【一】引入 之前做过redis的主从,很简单 mysql 稍微复杂一些, 搭建mysql主从的目的是? 读写分离 单个实例并发量低,提高并发量 只在主库写,读数据都去从库 》读多写少 读写分离 通过将读操作分发到从库,可以分摊主库的读负载,提高整体的并发处理能力。 主库只需处理写操作,从库处理读操作 阅读全文
posted @ 2023-09-10 14:18
Chimengmeng
阅读(41)
评论(0)
推荐(0)
摘要:
【一】Redis介绍与安装 什么是Redis 非关系型数据库和关系型数据库 Redis的特点 Redis的安装 Redis的连接与停止 【二】Redis使用 Redis普通连接与连接池 Redis之字符串操作 Redis之hash类型操作 Redis之列表操作 Redis之其他操作 Redis之管道 阅读全文
posted @ 2023-09-10 14:16
Chimengmeng
阅读(25)
评论(0)
推荐(0)
摘要:
【一】缓存的收益与成本 【1】受益 1 加速读写 2 降低后端负载:后端服务器通过前端缓存降低负载,业务端使用redis降低后端mysql负载 【2】成本 1 数据不一致:缓存层和数据层有时间窗口不一致,和更新策略有关 2 代码维护成本:多了一层缓存逻辑 3 运维成本:比如使用了Redis Clus 阅读全文
posted @ 2023-09-10 13:38
Chimengmeng
阅读(140)
评论(0)
推荐(0)
摘要:
【一】主从复制 【1】引入 原因 : redis 单实例 机器故障;容量瓶颈;QPS瓶颈 主从复制:一主一从,一主多从 做读写分离 做数据副本 扩展数据性能 一个master可以有多个slave 一个slave只能有一个master 数据流向是单向的,从master到slave 【2】主从原理 主从 阅读全文
posted @ 2023-09-10 13:38
Chimengmeng
阅读(84)
评论(0)
推荐(0)
摘要:
【一】Redis持久化 【1】什么是持久化 redis的所有数据保存在内存中,对数据的更新将异步的保存到硬盘上 持久化是指将Redis的数据保存到硬盘上,以确保数据在重启、断电等异常情况下的持久性。 Redis提供了三种持久化方式:RDB、AOF和混合持久化。 【2】持久化的实现方式 数据库(mys 阅读全文
posted @ 2023-09-10 13:37
Chimengmeng
阅读(261)
评论(0)
推荐(0)
摘要:
【一】慢查询 【1】生命周期 我们配置一个时间,如果查询时间超过了我们设置的时间,我们就认为这是一个慢查询. 慢查询发生在第三阶段 客户端超时不一定慢查询,但慢查询是客户端超时的一个可能因素 慢查询是指执行时间超过预设阈值的数据库查询语句。在慢查询的生命周期中,以下是一般的流程: 客户端发送查询请求 阅读全文
posted @ 2023-09-10 13:37
Chimengmeng
阅读(204)
评论(0)
推荐(0)
摘要:
【图解Redis数据结构】 【Redis单线程架构】 【1】单线程架构 一个瞬间只会执行一条命令 Redis的主要任务是处理来自客户端的请求并执行命令。 在任意时刻,Redis只会处理一条命令,通过串行执行命令保证了数据的一致性。 Redis在内部使用事件驱动(epoll)的非阻塞I/O模型,以提高 阅读全文
posted @ 2023-09-10 13:36
Chimengmeng
阅读(80)
评论(0)
推荐(0)
摘要:
【一】使用场景 缓存系统:使用最广泛的就是缓存 计数器:网站访问量,转发量,评论数(文章转发,商品销量,单线程模型,不会出现并发问题) 消息队列:发布订阅,阻塞队列实现(简单的分布式,blpop:阻塞队列,生产者消费者) 排行榜:有序集合(阅读排行,点赞排行,推荐(销量高的,推荐))有序集合 社交网 阅读全文
posted @ 2023-09-10 13:36
Chimengmeng
阅读(70)
评论(0)
推荐(0)
摘要:
【一】Redis是什么 【1】介绍 开源:早起版本2w3千行 基于键值对的存储系统:字典形式 多种数据结构:字符串,hash,列表,集合,有序集合 高性能,功能丰富 Redis(Remote Dictionary Server)是一个开源的,基于键值对的存储系统。 它采用了字典形式进行数据存储,支持 阅读全文
posted @ 2023-09-10 13:36
Chimengmeng
阅读(110)
评论(0)
推荐(0)
摘要:
【一】redis普通链接和连接池 【1】普通链接 from redis import Redis # 建立redis连接 conn = Redis( host='127.0.0.1', # IP port=6379, # 端口 db=0, # 数据库 decode_responses=True # 阅读全文
posted @ 2023-09-10 13:36
Chimengmeng
阅读(65)
评论(0)
推荐(0)
摘要:
【一】什么是Redis Redis :软件,存储数据的,速度非常快,redis是一个key-value存储系统(没有表的概念),cs架构的软件 服务端 客户端(python作为客户端,java,go,图形化界面,命令窗口的命令) Redis(Remote Dictionary Server)是一个开 阅读全文
posted @ 2023-09-10 13:36
Chimengmeng
阅读(169)
评论(0)
推荐(0)

浙公网安备 33010602011771号