缓存springcache常见问题 解决方案

Prometheus性能调优-什么是高基数问题以及如何解决?

背景 近期发现自己实验用的 Prometheus 性能出现瓶颈, 经常会出现如下告警: PrometheusMissingRuleEvaluations PrometheusRuleFailures 之后慢慢排查发现是由于 Prometheus 的某些 series 的高基数(High Cardin ......
基数 Prometheus 性能 问题

在echaerts中渲染50万条数据的优化方案

背景:项目需求中要在页面上渲染大约50万条左右的波形数据图表 那么如何解决渲染中的卡顿呢? 肯定是要从服务端和前端一起优化这是毋庸置疑的。 1.服务端: 服务端耗时最多的一定是在数据库的筛选数据的行为上,本次需求中数据的筛选是根据物理量的类型和时间来进行的。 为了提速,应当取消掉其他的筛选条件,并且 ......
万条 echaerts 方案 数据

记一次生产频繁发生FullGC问题

问题发现 早上过来,饭都没来的及吃,运维就给我发来信息,说是某个接口调用大量超时。因为最近这个接口调用量是翻倍了,所以我就去检查了下慢SQL,发现确实是有较多的慢SQL,所以我就缩减了查询的时间范围,但是效果并不好。 过了一会发现,这个服务fullGC是有问题的,太频繁了,这个应该是导致接口超时的根 ......
FullGC 问题

前端性能优化——采用高效的缓存策略提供静态资源

前端性能优化——采用高效的缓存策略提供静态资源 一、发现性能问题 通过 Chrome 开发者工具的 Lighthouse 工具对目标站点的某个页面进行分析,其生成的报告如图所示: 由分析报告可知,该目标站点存在多项待优化的性能问题,如减少未使用的 JavaScript 和采用高效的缓存策略提供静态资 ......
前端 缓存 静态 性能 策略

JavaScript 中的一些奇怪问题

JavaScript 中的一些奇怪问题 JavaScript 在开发过程中可能会出现很多奇怪的问题,以下是一些示例: 1、变量提升问题 变量提升是 JavaScript 中一个常见的问题,特别是当没有充分理解变量作用域和声明提升时。以下是一个变量提升导致的问题示例: var a = 1; funct ......
JavaScript 问题

网络问题定位工具记录

网络问题定位工具记录 老王内网发了一篇使用各种工具定位网络丢包问题的文章。 里面的工具我发现都没用过。。。惭愧。。。赶紧补充linux命令知识。 linux的nstat命令是做什么的?输出格式是什么意思? nstat是一个Linux命令行工具,用于显示网络接口的统计信息,包括TCP、UDP、IP和I ......
工具 问题 网络

非线性优化问题基本形式概述

非线性优化问题以及在视觉SLAM中的应用 1.0 最小二乘基础概念 定义 $\quad$ 找到一个 n 维的变量 $\mathbf{x}^{*} \in \mathbb{R}^{n}$ , 使得损失函数 $F(\mathbf{x})$ 取局部最小值: $$ F(\mathbf{x})=\frac{1 ......
非线性 形式 问题

Java处理正则匹配卡死(正则回溯问题)

正则匹配卡死怎么来的? 背景 背景:这次问题的背景是项目上遇到了,在使用正则对数据进行提取时,发现提取不到,日志解析不成功,造成kafka消息有积压 项目现场问题 项目中某一个微服务再处理正则时,发现在处理部分日志时候,线程会卡死,线程卡死,因此kafka中的消息定会积压,后面的日志即不会处理。关键 ......
正则 问题 Java

项目中多级缓存设计实践总结

缓存的重要性 简而言之,缓存的原理就是利用空间来换取时间。通过将数据存到访问速度更快的空间里以便下一次访问时直接从空间里获取,从而节省时间。 我们以CPU的缓存体系为例: CPU缓存体系是多层级的。分成了CPU -> L1 -> L2 -> L3 -> 主存。我们可以得到以下启示。 越频繁使用的数据 ......
缓存 项目

非侵入式入侵 —— Web缓存污染与请求走私

本文介绍了两种攻击者无需直接接触服务端即可攻击和影响用户行为的安全漏洞 —— Web缓存污染与请求走私。Web缓存污染旨在通过攻击者向缓存服务器投递恶意缓存内容,使得用户返回响应结果而触发安全风险。HTTP请求走私旨在基于前置服务器(CDN、反向代理等)与后置服务器对用户请求体的长度判断标准不一致的... ......
缓存 Web

【ASP.NET Core】修改Blazor.Server的Hub地址后引发的问题

Blazor Server,即运行在服务器上的 Blazor 应用程序,它的优点是应用程序在首次运行时,客户端不需要下载运行时。但它的代码是在服务器上执行的,然后通过 SignalR 通信来更新客户端的 UI,所以它要求必须建立 Web Socket 连接。 用于 Blazor 应用的 Signal ......
地址 Blazor Server 问题 Core

一种新的骨架屏方案

动机 最近遇到了一个实现骨架屏的需求,我大致调研了一下市面上使用得比较多的骨架屏方案,发现这些方案很多都不能满足我的需求,比如 或者 从第一幅图可以看到,骨架屏中的元素有着各自独立的动画效果,也就是说其中的“波浪”并不是从左边的元素跑到右边的元素,而是分别从每个元素的左边跑到每个元素的右边,这看起来 ......
骨架 方案

苹果手机H5 video标签播放视频问题以及.mov格式处理方案

最近在做一个手机端拍照上传,并预览文件的功能,前端用h5 video 标签,后端用springboot+minio。 问题 刚开始写代码和测试的时候,都是用的安卓手机,照片和视频都没问题,后来换成用苹果手机后,播放视频就出现各种问题,先是苹果手机拍的mov视频不支持播放,后面又出现苹果手机播放不了视 ......
苹果 标签 格式 方案 问题

基于NUXT.JS搭建一款VUE版SSR前端框架(解决SPA应用的SEO优化优化问题)

本文档是从官网文档中摘录的一些重点内容,以及加入了自己的一些调整和对官网内容的理解和解释。适合新手学习,有一定技术水平的宝子,建议直接查看 [NUXT英文官网] ......
前端 框架 问题 NUXT VUE

Masa Framework源码解读-02缓存模块(分布式缓存进阶之多级缓存)

序言 ​ 今天这篇文章来看看Masa Framework的缓存设计,上一篇文章中说到的MasaFactory的应用也会在这章节出现。文章中如有错误之处还请指点,咱们话不多说,直入主题。 Masa Framework缓存简介 MASA Framework源码地址:https://github.com/ ......
缓存 分布式 Framework 源码 模块

【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务

问题描述 在 Spring Boot 项目中,使用 Redisson 连接 Azure Redis 服务,如下是详细的操作步骤(项目源代码文末可下载) 示例步骤 第一步: 在 Spring Boot 的项目中,添加 redisson-spring-boot-starter 依赖 在项目的pom.xm ......

hibernate跨数据库,columnDefinition不可移植性改造方案

#背景&问题描述 很多项目选择jpa/hibernate,更多是为了代码的可移植性,不限制数据库的选择。特别是toB的业务系统,不同的客户,要求用不同的数据库。特别近几年,大力倡导软件国产化,国产数据库也在崛起,很多政府、国企、电力、银行在数据库的选择上,纷纷转向国产数据库。也许mybatis+my ......

hibernate跨数据库,json字段处理方案,自定义扩展JsonStringType

一、背景 对于一些不经常更新的静态数据,我们喜欢使用json格式存储。推荐的做法是将json数据存储在key-value数据库,但这无疑增加了技术成本,所以我们通常还是存储在RDB数据库中。我们在使用hibernate,对json数据的存取期望是,存能自动转换为json格式存储,取能自动将json数 ......

day09-MyBatis缓存

MyBatis缓存 mybatis – MyBatis 3 | cache MyBatis 一级缓存全详解(一) MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。 为了使它更加强大而且易于配置,我们对 MyBatis 3 中的缓存实现进行了许多改进。 1.一级缓存 1 ......
缓存 MyBatis day 09

在教学中常被问到的几个vue3.x与typescript的问题,统一解答

在教学当中,学生在学习vue3.x时,常常会问到typescript和vue3.x之间的关系,感觉这两个技术总是绑在一起的,下面老赵来统一解答一下: 那学vue3.x,为什么要求也要掌握typescript Vue 3.x是一个使用TypeScript编写的库,它内置了对TypeScript的支持, ......
typescript 教学 问题 vue3 vue

Redis缓存数据库-快速入门

Redis数据库快速入门 一、Redis数据库 介绍: Redis:非关系型缓存数据库 nosql:非关系型数据库 没有表,没有表与表之间的关系,更不存在外键 存储数据的形式为key:values的形式 c语言写的服务(监听端口),用来存储数据的,数据是存储在内存中,取值,放值速度非常快, 10w ......
缓存 数据库 数据 Redis

数据问题排查思路

1、背景 数据开发、数据仓库工作和业务系统开发工作很大的一个不同是,业务系统功能开发一旦完成并通过测试,一般就可以比较稳定地长期运行,因为它的输入是相对稳定的。但是数据仓库开发加工的数据模型、数据指标和分析结论,却很难保持稳定。因为输入数据每天都在源源不断产生,很难保证数据没有大的波动,而输入的不稳 ......
思路 数据 问题

MySQL 并行复制方案演进历史及原理分析

预告: 《MySQL实战》即将出版,敬请关注! 有过线上 MySQL 维护经验的童鞋都知道,主从延迟往往是一个让人头疼不已的问题。 不仅仅是其造成的潜在问题比较严重,而且主从延迟原因的定位尤其考量 DBA 的综合能力:既要熟悉复制的内部原理,又能解读主机层面的资源使用情况,甚至还要会分析 binlo ......
原理 方案 历史 MySQL

Landsat数据在USGS中无法下载Surface Reflectance产品的解决方法

本文介绍在USGS官网下载Landsat遥感影像数据时,出现报错信息,无法下载地表反射率产品(Surface Reflectance)的解决办法~ ......
Reflectance Landsat Surface 方法 数据

Go构建遇到cgo动态库时解决方案

1. 问题 golang构建程序很简单,当遇到需要调用c库时,如通常使用 net,kafka, sqlite3 程序运行时就会调用当前服务器的 动态库,如果遇到没有库时,通常还需要 下载比如 alpine需要安装sqlite apk add --no-cache sqlite-libs sqlite ......
解决方案 方案 动态 cgo

通过 Pulsar 源码彻底解决重复消费问题

背景 最近真是和 Pulsar 杠上了,业务团队反馈说是线上有个应用消息重复消费。 而且在测试环境是可以稳定复现的,根据经验来看一般能稳定复现的都比较好解决。 定位问题 接着便是定位问题了,根据之前的经验让业务按照这几种情况先排查一下: 通过排查:1,2可以排除了。 没有相关日志 存在异常,但最外层 ......
源码 Pulsar 问题

Python实战项目5-Git远程仓库/分支合并/冲突解决

Git分支 为什么要有分支 可以保证主分支的版本都是可以查看的版本 我们都在开发分支开发,开发完成 合并代码 分支操作 分支查看 git branch 分支创建 git branch 分支名 分支切换git checkout 分支名 分支删除 git branch -d 分支名 分支合并 创建分支 ......
分支 仓库 实战 项目 Python

如何操作(增、删、改、查)常见的 HTML 元素呢?(包含原生 js 和 JQuery 语法对照)

一、通用的操作示例 1、查询 根据 id 查询(结果为单个对象) // 原生 js 写法 var elementobj = document.getElementById("elementid"); // 原生 js 链式查询写法(注意:被查询的对象需为单个唯一对象,若为 list 则返回失败) v ......
语法 元素 常见 JQuery HTML

现代图片性能优化及体验优化指南 - 懒加载及异步图像解码方案

本文是系列第四篇。系列文章: 现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用 现代图片性能优化及体验优化指南 - 响应式图片方案 现代图片性能优化及体验优化指南 - # 缩放精细化展示及避免布局偏移、拉伸 图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽 ......
图像 性能 方案 指南 图片

一个.Net Core开源缓存中间件,让你更加简单、方便使用缓存

上次给大家推荐过一个缓存中间件《一个C#开发的非常实用的缓存中间件》,今天再给大家推荐一个缓存中间件,两者功能差不多,都是提供统一接口、多级缓存、分布式缓存、支持多种Provider等。 项目简介 这是一个基于.Net Core开发的缓存中间件,它支持各种缓存并提供了很多高级功能。它的主要目标是让开 ......
缓存 中间件 Core Net