使用MySqlBulkLoader批量插入数据

博主头像 最近在项目中遇到插入数据瓶颈,几万、几十万、几百万的数据保存到MYSQL数据库,使用EF插入数据速度非常慢,数据量非常大时EF插入需要几十分钟,甚至几个小时,这样子的速度肯定不是我们所期望的。 后面经过了解与研究发现MySqlBulkLoader,可以批量将数据插入到数据库并且速度上面远远优于EF。 ...

Redis系列2:数据持久化提高可用性

博主头像 1 介绍 从上一篇的 《深刻理解高性能Redis的本质》 中可以知道, 我们经常在数据库层上加一层缓存(如Redis),来保证数据的访问效率。 这样性能确实也有了大幅度的提升,但是本身Redis也是一层服务,也存在宕机、故障的可能性。 一旦服务挂起,可能生产的后果包括如下几方面: 1、Redis的数 ...

请求一下子太多了,数据库危

博主头像 大家好,我是七淅(xī)。 如标题所说,和大家分享一个我曾优化过的业务场景。 当然,具体业务细节不重要,重要的是优化的思路。如果大家以后有遇到类似特点的场景,能够想到七淅这篇优化文章,那我就觉得很值了。 接下来我就直接进入主题,要分享得优化思路就是请求合并。 弱弱说一句,由于优化效果特别明显,这一优 ...

crane:字典项与关联数据处理的新思路

博主头像 前言 在我们日常开发中,经常会遇到一些烦人的数据关联和转换问题,比如典型的: 对象属性中个有字典 id,需要获取对应字典值并填充到对象中; 对象属性中有个外键,需要关联查询对应的数据库表实体,并获取其中的指定属性填充到对象中; 对象属性中有个枚举,需要将枚举中的指定属性填充到对象中; 实际场景中这种 ...

如何修改 node_modules 里的文件

博主头像 前言 有时候使用npm上的包,发现有bug,我们知道如何修改,但是别人可能一时半会没法更新,或者是我们特殊需求,别人不愿意修改,这时候我们只能自己动手丰衣足食。那么我们应该如何修改别人的源码呢?首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个: 下 ...

nifi从入门到实战(保姆级教程)——身份认证

上一篇我们搭建好了nifi的运行环境了 但是每次登陆那一串随机字符串的用户名和密码是不是让人很头疼,那是人类能记住的吗?当然不是!!!! 那么今天我们就来消灭这些难看又难记的字符串。 windows(10): windows下无法通过/bin/nifi.sh 去修改用户名和密码。 nifi 默认用的 ...

面试突击60:什么情况会导致 MySQL 索引失效?

博主头像 为了验证 MySQL 中哪些情况下会导致索引失效,我们可以借助 explain 执行计划来分析索引失效的具体场景。 explain 使用如下,只需要在查询的 SQL 前面添加上 explain 关键字即可,如下图所示: 而以上查询结果的列中,我们最主要观察 key 这一列,key 这一列表示实际使用 ...

深入理解 happens-before 原则

博主头像 在前面的文章中,我们深入了解了 Java 内存模型,知道了 Java 内存模型诞生的意义,以及其要解决的问题。最终我们知道:Java 内存模型就是定义了 8 个基本操作以及 8 个规则,只要遵守这些规则的并发操作,那么它们就是安全的。 即使强如树哥的人,看了这 16 条规则也很头疼。它们太过于繁琐了 ...

.NET6接入Skywalking链路追踪完整流程

博主头像 一、Skywalking介绍 Skywalking是一款分布式链路追踪组件,什么是链路追踪? 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台 ...

嵌入式软件架构设计-模块化

博主头像 1 前言 模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。 比如搭积木,可以用一个个积木模块组合成我们想要的任何样子,而且通过使用相同的积木模块组合成不同的样子 ...

记一次 .NET 某物管后台服务 卡死分析

博主头像 一:背景 1. 讲故事 这几个月经常被朋友问,为什么不更新这个系列了,哈哈,确实停了好久,主要还是打基础去了,分析 dump 的能力不在于会灵活使用 windbg,而是对底层知识有一个深厚的理解,比如:汇编,C, C++,Win32 Api,虚拟内存,Windows 用户态和内核态,这是我今年看的书 ...

JavaScript中async和await的使用以及队列问题

博主头像 宏任务和微任务的队列入门知识,可以参考之前的文章: JavaScript的事件循环机制 宏任务和微任务在前端面试中,被经常提及到,包括口头和笔试题 async && await概念 async 使用async关键字声明的函数,是AsyncFunction构造函数的实例,在async函数体内,可以使用 ...

go-zero微服务实战系列(七、请求量这么高该如何优化)

博主头像 前两篇文章我们介绍了缓存使用的各种最佳实践,首先介绍了缓存使用的基本姿势,分别是如何利用go-zero自动生成的缓存和逻辑代码中缓存代码如何写,接着讲解了在面对缓存的穿透、击穿、雪崩等常见问题时的解决方案,最后还重点讲解了如何保证缓存的一致性。因为缓存对于高并发服务来说实在是太重要了,所以这篇文章我 ...

上周热点回顾(6.20-6.26)

博主头像 热点随笔: · 基于Vite+React构建在线Excel (葡萄城技术团队)· CentOS中实现基于Docker部署BI数据分析 (葡萄城技术团队)· MAUI与Blazor共享一套UI,媲美Flutter,实现Windows、macOS、Android、iOS、Web通用UI (Dotnet9 ...

Elasticsearch 在地理信息空间索引的探索和演进

博主头像 本文梳理了Elasticsearch对于数值索引实现方案的升级和优化思考,从2015年至今数值索引的方案经历了多个版本的迭代,实现思路从最初的字符串模拟到KD-Tree,技术越来越复杂,能力越来越强大,应用场景也越来越丰富。从地理位置信息建模到多维坐标,数据检索到数据分析洞察都可以看到Elastic... ...

123···200>