前言我们都知道初创公司一开始都是以单体应用为首要架构,一般都是单体单库的形式。但是版本以及版本的迭代,数据库需要承受更多的高并发已经成了架构设计需要考虑的点。那么解决问题,就得说到方案。但是方案有很多,我们该怎么选择呢?优化与方案基本上,我们优化要从几个关键字入手:短距离,少数据,分散压力。短距离所谓的短距离,指的是从前端到数据库的路径要短。 页面静态。有些页面的数据是在某些时段是不变的
转载 2023-07-24 14:23:26
79阅读
批量插入(Batch Insert) 批量处理:将多条数据合并成一个 INSERT 语句,一次性批量插入。这样可以显著减少数据库的交互次数,提高性能。 INSERT INTO your_table (column1, column2, ...) VALUES (value1, value2, ...
原创 16天前
39阅读
本节内容:mysql中的锁、事务、并发控制1、并发控制 无论何时,只要不止一个查询同时修改数据,都会产生并发控制问题--并发读和并发写。 读锁(Read Lock)/写锁(Write Lock) 锁系统是用于处理并发读或并发写时出现的数据不一致等问题。也称为共享锁(Share Lock)和排他锁(Exclusive Lock)。锁的概念: 某一资源上的读锁是共享的,或者说是互不阻塞的。在同一时间,
转载 2023-06-13 21:55:51
43阅读
# MySQL 10W QPS 科普文章 ## 引言 MySQL 是当今最常用的开源关系型数据库管理系统之一,广泛应用于各大互联网公司的数据存储和管理。在高并发场景下,需要处理大量的并发请求,其中 QPS(Queries Per Second)是衡量数据库性能的重要指标之一。本文将介绍如何通过优化 MySQL 数据库和相关配置来实现 10W QPS 的性能。 ## 背景知识 在开始之前,我
原创 7月前
50阅读
前言我们知道,高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才 智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。简单举个例子来说,淘宝双十一大抢购,全球那么多用户在同一时间下单,多的不说这流量级别都涉及到全球了,但是淘宝并没有出现系统崩掉的情况,这就是高并发存在的作用了。这需要我们在遇到高并发
本篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备的,下面结合模拟抢单的场景来使用她;本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下:Jedis的nx生成锁如何删除锁模拟抢单动作(10w个人开抢)jedis的nx生成锁对于java中想操作redis,好的方式是使用jedis,首先pom中引入依赖:<dependency&g
转载 2023-08-25 18:28:07
0阅读
最近公司在做一个数据报表的功能,其中需要导入原来的手动操作的数据到现在的系统中,经过整理,数据以excel的格式导入。在处理的过程中发现,需要读取解析的数据大概10W+,以原有的处理方式,读取excel中的数据需要消耗时间2分钟,插入到数据库中需要消耗时间高达20分钟。结果就是直接系统卡死了。后来想到的处理方式有2种:1.使用队列中间件  。 2.多线程考虑中间件要调整的还挺多,就选择第
转载 2023-09-06 15:16:59
0阅读
前言开发目的:提高百万级数据插入效率。采取方案:利用ThreadPoolTaskExecutor多线程批量插入。采用技术:springboot2.1.1mybatisPlus3.0.6swagger2.5.0Lombok1.18.4postgresqlThreadPoolTaskExecutor具体实现细节application-dev.properties添加线程池配置信息# 异步线程配置 #
转载 5月前
182阅读
我们都知道,SpringBoot默认的内嵌容器是Tomcat,也就是我们的程序实际上是运行在Tomcat里的。所以与其说SpringBoot可以处理多少请求,倒不如说Tomcat可以处理多少请求。关于Tomcat的默认配置,都在spring-configuration-metadata.json文件中,对应的配置类则是org.springframework.boot.autoconfigure.w
# MySQL批量更新10w数据实现方法 ## 1. 概述 在MySQL中,更新大量数据可以通过批量更新来提高效率。本文将介绍如何使用代码实现MySQL批量更新10w数据的方法,并提供相应的代码示例和注释。 ## 2. 流程概述 下面是实现MySQL批量更新10w数据的整个流程的简要概述: | 步骤 | 描述 | | --- | --- | | 1 | 创建数据库连接 | | 2 | 创
原创 2023-07-15 15:32:00
289阅读
### 如何优化MySQL查询10w条数据 #### 流程图 ```mermaid flowchart TD A[开始] --> B[建立索引] B --> C[使用合适的查询条件] C --> D[减少返回的字段] D --> E[使用limit和分页] E --> F[使用优化的查询语句] F --> G[优化硬件和服务器配置] G
原创 8月前
196阅读
在SpringBoot中整合使用Netty框架 Netty是一个非常优秀的Socket框架。如果需要在SpringBoot开发的app中,提供Socket服务,那么Netty是不错的选择。Netty与SpringBoot的整合,我想无非就是要整合几个地方让netty跟springboot生命周期保持一致,同生共死让netty能用上ioc中的Bean让netty能读取到全局的配置整合Netty,提供
转载 6月前
86阅读
# 在MySQL中批量新增10万条数据:方法与示例 MySQL是一个流行的关系型数据库管理系统,通常用于数据存储和管理。本文将探讨如何向MySQL数据库中批量新增10万条数据,并提供相应的代码示例。通过实验,我们还将分析不同插入方法的性能表现,帮助开发者在实际应用中选择最优方案。 ## 目录 1. 数据库环境准备 2. 数据结构设计 3. 数据插入方法 4. 性能对比 5. 结论 ###
原创 1月前
120阅读
前言在开发十万博客系统的的过程中,前面主要分享了爬虫、缓存穿透以及文章阅读量计数等等。爬虫的目的就是解决十万+问题;缓存穿透是为了保护后端数据库查询服务;计数服务解决了接近真实阅读数以及数据库服务的压力。架构图限流就拿十万博客来说,如果存在热点文章,可能会有数十万级别的并发用户参与阅读。如果想让这些用户正常访问,无非就是加机器横向扩展各种服务,但凡事都有一个利益平衡点,有时候只需要少量的机器保证大
转载 5月前
44阅读
# 如何实现“redis key 10w” ## 介绍 欢迎来到本篇文章,本文将教会你如何使用Redis实现"redis key 10w"的需求。Redis是一个开源的内存数据库,提供了丰富的数据结构和功能,非常适合用于缓存和存储关键数据。本文将以一个经验丰富的开发者的角度,通过详细的步骤和代码示例,帮助你实现这个需求。 ## 整体流程 下面是整个实现过程的流程图,我们将通过以下几个步骤来实现
原创 10月前
15阅读
# Redis Hash 介绍 ## 什么是 Redis Hash? Redis 是一个开源的内存数据结构存储系统,它支持多种数据结构,包括字符串、列表、集合、有序集合和哈希等。在 Redis 中,哈希(Hash)是一种键值对的集合,其中每个键关联一个值。哈希是一个无序的键值对集合,其中每个键对应一个值,它可以看作是一个字典或者一个关联数组。 Redis 中的哈希是一个 string 类型的
原创 8月前
26阅读
# MYSQL 插入10W条数据 在开发过程中,我们经常需要向数据库中插入大量的数据。本文将介绍如何使用MYSQL数据库插入10W条数据,并提供相应的代码示例。 ## 为什么要插入大量数据? 在开发和测试过程中,我们经常需要模拟真实场景下的数据。通过插入大量数据,我们可以测试数据库查询性能、优化数据库结构和索引,以及对系统进行负载测试。此外,大量数据还可以用于数据分析和机器学习等领域。 #
原创 7月前
366阅读
NanoMsg简介: NanoMsg是一个Socket的通讯库,使用C语言编写实现的,这样就可以适用于多种操作系统,而且几乎不需要什么依赖,可扩展并且能易于使用。 Nanomsg提供了几种常见的通信模式 ( 也称为“可扩展性协议” ) 是构建分布式系统的基本框架。 通过组合它们,可以创建广 泛的分布式应用程序。可扩展性协议类型类型说明PAIR简单的一对一沟通BUS简单的多对多通信REQREP允许构
转载 9月前
0阅读
# 10W QPS 架构简介 在现代的互联网应用中,QPS(Queries Per Second)是衡量系统性能的一个重要指标。当系统的QPS达到一定程度时,需要考虑如何设计更加稳定和高效的架构来支撑这一高并发量。本文将介绍一个支持10W QPS的架构设计,并提供代码示例以及甘特图来帮助读者更好地理解。 ## 架构设计 为了支持10W QPS的并发请求,我们需要设计一个高可用、高性能的架构。
原创 5月前
51阅读
需求背景春节活动中,多个业务方都有发放优惠券的需求,且对发券的 QPS 量级有明确的需求。所有的优惠券发放、核销、查询都需要一个新系统来承载。因此,我们需要设计、开发一个能够支持十万级 QPS 的券系统,并且对优惠券完整的生命周期进行维护。需求拆解及技术选型需求拆解要配置券,会涉及到券批次(券模板)创建,券模板的有效期以及券的库存信息要发券,会涉及到券记录的创建和管理(过期时间,状态)因此,我们可
原创 2023-06-07 09:50:28
388阅读
  • 1
  • 2
  • 3
  • 4
  • 5