C#开源、功能强大、免费的Windows系统优化工具 - Optimizer
前言
今天给大家推荐一款由C#开源、功能强大、免费的Windows系统优化工具 - Optimizer。
工具介绍
Optimizer是一款功能强大的Windows系统优化工具,可帮助用户提高计算机性能、加强隐私和安全保护。该工具支持22种语言,同时提供了许多实用的功能,如关闭不必要的Wind...[2023/9/25]
【Redis】Redis事务:原子性与回滚的真相揭秘
大家好,我是mep。今天一起来探讨一下Redis缓存的问题,SpringBoot如何集成Redis网上文章很多,基本都是介绍如何配置redisTemplate,如何调用,本文就不过多介绍了。这次我们研究的是:Redis的事务。
首先抛出一个问题,Redis支持事务吗?
&...[2023/9/25]
记一次 Redisson 线上问题 → ERR unknown command 'WAIT' 的排查与分析
开心一刻
昨晚和一个朋友聊天
我:处对象吗,咱俩试试?
朋友:我有对象
我:我不信,有对象不公开?
朋友:不好公开,我当的小三
问题背景
程序在生产环境稳定的跑着
直到有一天,公司执行组件漏洞扫描,有漏洞的 jar 要进行升级修复
...[2023/9/20]
MySQL高级10-InnoDB引擎存储架构
一、逻辑存储结构
表空间(Tablespace):一个mysql实例,及一个数据库实例,可以对应多个表空间(ibd文件),用于存储记录,索引等数据。
段(Segment):分为数据段(Leaf node segment)、索引段(Non-leaf node segmen...[2023/9/20]
Linux服务器使用Redis作为数据缓存,并用log4j2进行日志记录
前言
个人网站使用Vue作为前端,SpringBoot作为后端,MySQL作为数据库,但前端每次请求都会从MySQL数据库中读取数据,而MySQL数据库的数据是存储于服务器磁盘中,所以响应速度有一定影响。之前了解过一点Redis数据库,该数据库数据存储于内存中(也可以持久化于磁盘中),数据读...[2023/9/20]
MySQL 表分区使用实践
在使用 MySQL 8.0 表分区时,需要注意以下一些关键事项和最佳实践:
支持的存储引擎: MySQL 8.0 表分区仅支持一些特定的存储引擎,如 InnoDB 和 NDB(NDB 是 MySQL Cluster 存储引擎)。因此,在选择分区时,请确保你的表使用的是支持分区的存储引擎。
分区...[2023/9/20]
MySQL高级11-后台进程
一、前言
MySQL的服务实现通过后台多个线程、内存池、文件交互来实现对外服务的,不同线程实现不同的资源操作,各个线程相互协助,共同来完成数据库的服务。MySQL常用的后台线程概括如下,分为Master Thread,IO Thread,Purge Thread,Page Cleaner Th...[2023/9/20]
加密 K8s Secrets 的几种方案加密 K8s Secrets 的几种方案
前言
你可能已经听过很多遍这个不算秘密的秘密了--Kubernetes Secrets 不是加密的!Secret 的值是存储在 etcd 中的 base64 encoded(编码) 字符串。这意味着,任何可以访问你的集群的人,都可以轻松解码你的敏感数据。任何人?是的,几乎任何人都可以,尤其是在集...[2023/9/19]
图解Spark排序算子sortBy的核心源码图解Spark排序算子sortBy的核心源码
原创/朱季谦
一、案例说明
以前刚开始学习Spark的时候,在练习排序算子sortBy的时候,曾发现一个有趣的现象是,在使用排序算子sortBy后直接打印的话,发现打印的结果是乱序的,并没有出现完整排序。
例如,有一个包含多个(姓名,金额)结构的List数据,将这些数据按照金额降序排序时...[2023/9/19]
SpringBoot + Redis + Token 解决接口幂等性问题
前言
SpringBoot实现接口幂等性的方案有很多,其中最常用的一种就是 token + redis 方式来实现。
下面我就通过一个案例代码,帮大家理解这种实现逻辑。
原理
前端获取服务端getToken() -> 前端发起请求 -> header中带上token -...[2023/9/18]
记一次阿里云日志导致的服务宕机
导航
引言
火线告警,访问502
猜测: I/O频繁惹的祸
真相:FullGC突发高频导致程序崩溃
移除阿里云日志,稳了
结语
最后
参考
引言
技术人应该具备系统分析,并快速定位问题的能力。
资深技术人需要具备的核心竞争力有哪些?
系统分析,并快速定位问题的能力
快速地理解需求,转...[2023/9/18]
RocketMQ 消息重试与死信队列
RocketMQ 消息重试与死信队列
RocketMQ 前面系列文章如下:
RocketMQ系列(一) 基本介绍
RocketMQ 系列(二) 环境搭建
RocketMQ 系列(三) 集成 SpringBoot
RocketMQ 系列(四) 消息存储
RocketMQ 系列(五)高可用与负...[2023/9/18]
ES 2023新特性速解
ES 2023新特性速解
一、新增数组方法
操作数组的方法
Array.prototype.toSorted(compareFn) 返回一个新数组,其中元素按升序排序,而不改变原始数组。
Array.prototype.toReversed() 返回一个新数组,该数组的元素顺序被反转,但不...[2023/9/18]
SQL Server关于AlwaysOn的理解-读写分离的误区(一)
前言
很多人认为AlwaysOn在同步提交模式下数据是实时同步的,也就是说在主副本写入数据后可以在辅助副本立即查询到。因此期望实现一个彻底的读写分离策略,即所有的写语句在主副本上,所有的只读语句分离到辅助副本上。这是一个认知误区,本文通过原理和测试进行解释。
实现原理
从下图可以看到,在同...[2023/9/15]
Mysql慢查询优化
Mysql慢查询优化实战
效果:效率提升十倍左右
优化前
mysql> use test_old;
Database changed
mysql> set profiling = ''ON'';
Query OK, 0 rows affected
mysql> show...[2023/9/15]
MySQL系列1:MySQL体系架构
1. 背景
刚入行时,大部分Java工程师对MySQL停留在一个黑盒的认识,包括我自己。最近一段时间,这几年通过项目实践与不断反思,对MySQL的新认知提升到一个新层次,供大家分享。
下图是初始阶段的认识,就是对数据库建库、建表、建索引,然后执行增删改查操作。
2. 数据库驱动
大家都知...[2023/9/15]
后端常用的Linux命令大全,建议收藏
引言
作为一名后端工程师,使用终端是一种常见的做法,也是你应该学习的技能。许多命令和实用程序可以帮助你在使用 Linux 时更有效地完成任务。
基本 Linux 命令
如果你想使用 Linux 操作系统,学习常用的命令将会大有帮助。本篇将为后端工程师回顾一些基本到高级的 Linux 操作命令...[2023/9/15]
使用MySQL存储过程提高数据库效率和可维护性
MySQL 存储过程是一种强大的数据库功能,它允许你在数据库中存储和执行一组SQL语句,类似于编程中的函数。存储过程可以大幅提高数据库的性能、安全性和可维护性。本文将详细介绍MySQL存储过程的使用。
什么是MySQL存储过程?
MySQL存储过程是一组预编译的SQL语句,它们以一个名称存储在...[2023/9/15]
MySQL系列2:InnoDB存储引擎MySQL系列2:InnoDB存储引擎
1. 架构回顾
上一篇我们讲解了MySQL的逻辑架构,重新回顾一下,用一张新的图来认识一下该架构。
整体架构分为service层与存储引擎层,请求交给连接池后,由后台线程处理,并将请求转发给SQL接口,随后交给解析器执行,如果解析器发现命中缓存,直接从缓存读数据返回,如果没有,依次往下执行...[2023/9/15]
【RocketMQ】【源码】延迟消息实现原理
RocketMQ设定了延迟级别可以让消息延迟消费,延迟消息会使用SCHEDULE_TOPIC_XXXX这个主题,每个延迟等级对应一个消息队列,并且与普通消息一样,会保存每个消息队列的消费进度(delayOffset.json中的offsetTable):
public cla Me ageS...[2023/9/15]
MySQL 分表查询MySQL 分表查询
分表是一种数据库分割技术,用于将大表拆分成多个小表,以提高数据库的性能和可管理性。在MySQL中,可以使用多种方法进行分表,例如基于范围、哈希或列表等。下面将详细介绍MySQL如何分表以及分表后如何进行数据查询。
基于哈希的分表
基于哈希的分表是一种将数据分散到多个子表中的数据库分表策略。这种...[2023/9/15]
五分钟k8s实战-使用Ingress
背景
前两章中我们将应用部署到了 k8s 中,同时不同的服务之间也可以通过 service 进行调用,现在还有一个步骤就是将我们的应用暴露到公网,并提供域名的访问。
这一步类似于我们以前配置 Nginx 和绑定域名,提供这个能力的服务在 k8s 中成为 Ingre 。
通过这个描述其实也...[2023/9/15]
Linux禁止root用户ssh登录Linux禁止root用户ssh登录
1、背景描述
出于安全考虑,需要禁止使用root用户通过 h远程登录Linux
禁用root用户远程登录后,需要提供一个权限用户用于 h远程登录
2、创建拥有sudo权限的用户
2.1、创建一个普通用户rain
useradd命令用于创建一个用户, 选项 -m 表示创建用户...[2023/9/14]
MySQL-通过存储过程来添加和删除分区(List分区)
1.背景原因
当前MySQL不支持在添加和删除分区时,使用IF NOT EXISTS和IF EXISTS。所以在执行调度任务时,直接通过ADD PARTITION和DROP PARTITION不可避免会报错。本文通过创建存储过程来添加和删除分区,可以避免在分区存在时添加分区报错,或者分区不存在时...[2023/9/14]
MySQL面试题——隔离级别相关面试题
隔离级别相关面试题
MySQL事务隔离级别
未提交读——可以读到其他事务未提交的数据(最新的版本)
错误现象:脏读、不可重复读、幻读的现象
提交读(RC)——可以读到其他事务已提交的数据(最新已提交的版本)
错误现象:不可重复读、幻读现象
使用场景:希望看到最新的有效值
可重复读(R...[2023/9/14]
RocketMQ 系列(五)高可用与负载均衡
RocketMQ 系列(五)高可用与负载均衡
RocketMQ 前面系列文章如下:
RocketMQ系列(一) 基本介绍
RocketMQ 系列(二) 环境搭建
RocketMQ 系列(三) 集成 SpringBoot
RocketMQ 系列(四) 消息存储
上一篇讲了 RocketM...[2023/9/14]
提高 MySQL查询效率的方法
当涉及到提高MySQL查询效率时,以下是一些重要的策略和技巧,可以帮助你优化数据库性能。无论你是一个Web开发者、数据工程师还是系统管理员,这些方法都可以帮助你确保你的MySQL数据库运行得更快、更有效。
索引优化:
使用索引是提高查询性能的关键。确保在经常用于过滤和排序的列上创建索引。...[2023/9/13]
如何保持 SSH 会话不中断?
哈喽大家好,我是咸鱼
不知道小伙伴们有没有遇到过下面的情况:
使用终端(XShell、secureCRT 或 MobaXterm 等)登录 Linux 服务器之后如果有一段时间没有进行交互,SSH 会话就会断开
如果正在执行一些非后台命令,SSH 会话断开就可能会使得这些命令可能会被中...[2023/9/13]
SQL Server实例间同步登录用户
SQL Server实例间同步登录用户
问题痛点:由于AlwaysOn和数据库镜像无法同步数据库外实例对象,例如 登录用户、作业、链接服务器等,导致主库切换之后,应用连接不上数据库或者作业不存在导致每晚跑批任务漏跑等
目前来看,作业等其他实例对象的同步还比较难实现,比如作业分为很多步骤,而且作...[2023/9/13]
Redis从入门到放弃(12):pipeline管道技术
1、引言
在现代应用程序中,高性能和低延迟是至关重要的因素。而在处理大规模数据操作时,Redis作为一种快速、可靠的内存数据库,成为了许多开发人员的首选。
在Redis中,每个操作都需要与服务器进行往返通信,存在网络开销损耗,当有批量命令执行时,就会有较大的网络开销损耗。为了解决这个问题,Re...[2023/9/13]
返璞归真:命令行下逛园子,发布博客园 CLI 预览版 团队
一边在会员救园,一边我们在码不停蹄地加快园子的建设。
为了让大家体验命令行中逛园子的味道,今天发布一个小工具的预览版 —— 博客园命令行工具 cnb 。
该工具用 Rust 开发,代码开源在 github 上:https: github.com/cnblog cli ,帮助文档见 readm...[2023/9/13]
Shell脚本中文英文多语言国际化和命令行批处理(bash sh cmd bat)中定义函数的简单写法Shell脚本中文英文多语言国际化和命令行批处理(bash sh cmd bat)中定义函数的简单写法
目录命令行脚本参考 - bat命令行脚本参考 - bash值得学习的知识点1. 识别终端使用的语言2. 函数的编写3. 获取用户的输入4. bat文件老是乱码怎么办
有时候为了方便别人使用,我们会选择去编写各种各样的命令行脚本:给Windows用户编写.bat cmd批处理脚本,给macOS...[2023/9/13]
Java开发面试--Redis专区
1、 什么是Redis?它的主要特点是什么?
答:
Redis是一个开源的、基于内存的高性能键值对存储系统。它主要用于缓存、数据存储和消息队列等场景。
高性能:Redis将数据存储在内存中,并采用单线程的方式处理请求,使得其读写速度非常快,能够达到10万+的读写操作每秒。
数据结构丰富...[2023/9/13]
一次性全讲透GaussDB(DWS)锁的问题
本文分享自华为云社区《Gau DB(DWS)锁问题全解》,作者: yd_211043076。
一、gau db有哪些锁
1、常规锁:常规锁主要用于业务访问数据库对象的加锁,保护并发操作的对象,保持数据一致性;常见的常规锁有表锁(relation)和行锁(tuple)。
表锁:当对表进行DDL...[2023/9/13]
【RocketMQ】消息的拉取总结【RocketMQ】消息的拉取总结
在上一讲中,介绍了消息的存储,生产者向Broker发送消息之后,数据会写入到CommitLog中,这一讲,就来看一下消费者是如何从Broker拉取消息的。
RocketMQ消息的消费以组为单位,有两种消费模式:
广播模式:同一个消息队列可以分配给组内的每个消费者,每条消息可以被组内的消费者进...[2023/9/10]
Excel单元格快速交换相邻位置内容
一、相邻两列内容交换(A1与B1交换) 1.首先选择A1单元格的边框位置,出现了向上下左右的十字标志
2.此时按住shift键,并且拖向B1单元格的右边,出现"工"汉字标志
3.松开鼠标,不松开shift键盘,完成A1与B1单元格的交换
二、相邻两行内容交换(A...[2023/9/10]
MongoDB下载和可视化工具NoSQL Manager for MongoDB 软件的下载,连接数据库MongoDB下载和可视化工具NoSQL Manager for MongoDB 软件的下载,连接数据库
在官网下载MongoDB的版本为4.0.28,之前试了好几个高版本和低版本,都不行,最后,4.0.28版本好了。下载网页:https: www.mongodb.com/try/download/community
安装和配置环境变量的方法一搜就行...[2023/9/10]
NAT模式LVS负载均衡集群
NAT模式LVS负载均衡集群
负载调度器:内网 网关 ens33:192.168.1.200,外网 网关 ens36:12.0.0.10 Web节点服务器1:192.168.1.100 Web节点服务器2:192.168.1.101 NFS服务器:192.168.1.102 客户端:12.0...[2023/9/10]
redis
博客地址:https: www.cnblogs.com/zylyehuo/
五大数据类型
参考链接:redis学习
string,字符串类型
hash,哈希类型,如同python的dict
set,无序集合
zset,有序集合
list,双向队列,向左插入数据,向右插入数据,向左、右...[2023/9/10]
Redis的三大问题
一般我们对缓存读操作的时候有这么一个固定的套路:
如果我们的数据在缓存里边有,那么就直接取缓存的。
如果缓存里没有我们想要的数据,我们会先去查询数据库,然后将数据库查出来的数据写到缓存中。
最后将数据返回给请求
代码例子:
1 @Override
2 public R sel...[2023/9/10]
Linux虚拟机安装及下载
centos 7操作系统下载及安装步骤
(仅供参考)
下载:
1.打开如下网站:先下载镜像文件
ping:https: www.centos.org/download/
2.进入到如下界面
3.然后到如下界面
4.点击下载
5.等待下载...[2023/9/10]
五分钟 k8s入门到实战--跨服务调用
背景
在做传统业务开发的时候,当我们的服务提供方有多个实例时,往往我们需要将对方的服务列表保存在本地,然后采用一定的算法进行调用;当服务提供方的列表变化时还得及时通知调用方。
student:
url:
- 192.168.1.1:8081
- 1...[2023/9/9]
安装CentOS7虚拟机
1、前期工作
下载CentOS7镜像:CentOS-7-x86_64-DVD-2009.iso
安装虚拟机工具:VirtualBox
2、新建虚拟机
2.1、设置新建虚拟机的名称、安装路径、类型及版本
注意:CentOS Linux 的发行版本是通过编译 Red Hat...[2023/9/9]
从软件工程师角度聊聊 Kubernetes
作为软件工程师,我们应该熟悉 K8s,尽管它有点像 DevOps,但它能让我们更好地了解幕后发生的事情,让我们与部署工作更密切相关,更有责任感。本文将从软件工程师的角度探讨 Kubernetes (K8s),我们将介绍其动机、原理和核心组件,助力于开发者们提升 Kubernetes 的专业知识水...[2023/9/9]
【后端面经-数据库】Redis数据结构和底层数据类型
目录1. Redis数据类型1.1 基本数据类型1. string2. hash3. list4. set5. sortset/Zset1.2 特殊数据类型1. bitmap2. hyperloglog3. GEO4. stream2. Redis底层数据类型2.1 简介2.2 动态字符串SD...[2023/9/9]
mysql 大表如何ddl 👑
大家好,我是蓝胖子,mysql对大表(千万级数据)的ddl语句,在生产上执行时一定要千万小心,一不小心就有可能造成业务阻塞,数据库io和cpu飙高的情况。今天我们就来看看如何针对大表执行ddl语句。
通过这篇文章,你能了解到下面的知识点,
传统ddl 和online ddl的区别
mys...[2023/9/6]
oracle导入导出某个schema数据
背景
公司之前部门拆分,但一些服务并没有拆分清楚。其中一个老服务,两个部门都在用,现在为了避免互相影响,决定克隆该服务。克隆就要克隆全套,当然也包括数据库,我们这个老服务,用的oracle,所以,就涉及到从旧的oracle中导出数据,然后再导入到另一套新的oracle实例中。
届时在线上肯定是...[2023/9/6]
ptp 时钟同步
转载请注明出处:
PTP(Precision Time Protocol)的功能可以帮助实现网络中各个节点的时钟同步,以提供更精确的时间参考。
作用:
时钟同步:通过PTP协议,在网络中不同节点之间实现高精度的时钟同步,确保各设备具有一致的时间参考。
时间敏感应用:在需要高度时间...[2023/9/6]
win11安装ubuntu(by wsl2)
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https: github.com/zq2599/blog_demos
本机情况
省吃俭用入手了ThinkPad T14,打算装好Linux后作为开发机器使用,本文记录了安装过程,以便将来在新系统上用到
作为参考,机器...[2023/9/6]
纯分享:将MySql的建表DDL转为PostgreSql的DDL
背景
现在信创是搞得如火如荼,在这个浪潮下,数据库也是从之前熟悉的Mysql换到了某国产数据库。
该数据库我倒是想吐槽吐槽,它是基于Postgre 9.x的基础上改的,至于改了啥,我也没去详细了解,当初的数据库POC测试和后续的选型没太参与,但对于我一个开发人员的角度来说,它给我带来的不便主要...[2023/9/4]