- 博客(48)
- 收藏
- 关注
原创 域名更换为itwxe.com
域名 uukongjian.com 更换为 itwxe.com,笔名 SunnyBear 更改为 IT王小二。一、前言4 月 21 号域名备案通过,开始折腾新买的服务器,本来这篇文章在 5 月 15 日左右就要发的,不过吧,一不小心又拖到了两礼拜…其实也不是我要拖拉,刚好碰上公司项目要验收了,上礼拜周末还加了两天班,不是在修别人写的bug的路上,就是在写bug的路上。至于为啥换域名,总得来说吧有两个,第一个是原来的域名 uukongjian.com 太长了不舒服;第二个就是原来的笔名 Sunny
2021-05-27 22:03:13 494 2
原创 MySQL事务和锁
作者:IT王小二博客:https://itwxe.comMySQL是怎么解决并发事务所产生的问题呢?又借助了哪些锁的思想呢?这篇小二给小伙伴们继续唠一唠MySQL的那些事。一、事务是什么事务是由一组SQL语句组成的逻辑处理单元,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。通常有下面4个特性,也就是咱程序猿俗称的ACID属性。原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全部执行,要么全部不执行。举个例子:情人节小二给女朋友转账520块,那么SQ.
2022-03-16 08:53:20 1347 2
原创 MySQL性能优化之索引设计
作者:IT王小二博客:https://itwxe.com上一篇给小伙伴们讲了关于SQL查询性能优化的相关技巧,一个好的查询SQL离不开合理的索引设计。这篇小二就来唠一唠怎么合理的设计一个索引来优化我们的查询速度,要是有不合理的地方…嗯…当然啦,开个玩笑,欢迎小伙伴们指正!一、索引设计基石索引设计基石是什么呢?小二认为索引设计的基石就是数据表字段类型的合理设计,即选择合适字段类型和设置合适的长度。选择正确的数据类型,那么在字段上建立索引时,一个数据页可以存储更多的索引,一次读取加载到内.
2022-03-08 14:47:23 412
原创 SQL性能优化技巧
作者:IT王小二博客:https://itwxe.com这里就给小伙伴们带来工作中常用的一些 SQL 性能优化技巧总结,包括常见优化十经验、order by 与 group by 优化、分页查询优化、join 关联查询优化、in 和 exsits 优化、count(*)查询优化。一、常见优化十经验其实这个十经验不一定准确,通过上一篇 MySQL再深入执行计划之trace工具 我们已经知道 MySQL 执行查询语句时会进行成本分析,数据量和实际数据值会影响到 MySQL 的实际查询过程,所以要是小.
2022-02-14 08:04:28 709 1
原创 MySQL再深入执行计划之trace工具
作者:IT王小二博客:https://itwxe.com不知不觉过年半个多月没更新啦,不得不说老家真冷啊,完全不想伸出小二滴爪子,回到深圳开始更新啦,还是深圳暖和!上一篇 Explain执行计划详解 中提到执行计划分析查询语句时 possible_keys 列中存在可以使用的索引,但是实际最后 key 列中却并没有使用索引,走的全表扫描,这是为啥捏?这就涉及小二说的 MySQL 执行查询语句时需要进行的查询成本分析了,而 MySQL 提供的 trace 工具就可以让我们看到 MySQL 计算的查.
2022-02-13 08:42:54 566 1
原创 Explain执行计划详解
作者:IT王小二博客:https://itwxe.com一条查询 SQL 语句为什么会执行很慢?执行的时候走了什么索引?多表查询的时候 SQL 大体执行流程是怎么样的?Explain 执行计划详解给各位客官一一道来。一、示例MySQL安装方式和版本首先需要 MySQL 安装的客官看这两篇,小二演示使用的是 Docker 的安装方式:Linux(CentOS7)下二进制安装MySQL5.7.26Docker搭建MySQL并挂载数据小二安装完的 MySQL 数据库版本为 5.7.36。二.
2022-01-24 09:11:33 3201 1
原创 MySQL体系结构概览
作者:IT王小二博客:https://itwxe.com一条 SQL 语句在 MySQL 中怎么执行的呢,这篇就来认识下 MySQL 的各个组件的作用。一、结构组件首先需要 MySQL 安装的客官看这两篇,小二演示使用的是 Docker 的安装方式:Linux(CentOS7)下二进制安装MySQL5.7.26Docker搭建MySQL并挂载数据先上个图,小二自己画的,绝对的高清无码,嘿嘿。不足之处欢迎指正哈。1. 企业管理服务和工具系统管理和控制工具,例如 MySQL 备份恢复.
2022-01-20 16:21:30 1222 1
原创 深入理解MySQL索引底层数据结构
作者:IT王小二博客:https://itwxe.comMySQL 索引相关的数据结构有两种,一种是 B+tree,一种是 Hash,那么为什么在 99.99% 的情况下都使用的是 B+tree索引呢?索引的底层数据结构是怎样的呢?接下来就听小二娓娓道来。一、索引是什么MySQL 官方对索引的定义:索引是帮助 MySQL 高效获取数据的排好序的数据结构。所以,可以得出:索引是数据结构!当然啦,上面两句话可能看起来很抽象,那么生活中有哪些索引的例子呢。小二以上图《金瓶梅》这本为例,书籍的.
2022-01-10 09:33:57 640
原创 一文明白CDN加速是个啥
作者:IT王小二博客:https://itwxe.com不知不觉三个月没更新了,这三个月诸事繁忙啊!最近没那么忙了,开始恢复更新。一、CDN简介CDN(Content Delivery Network)是指内容分发网络,也称为内容传送网络,这个概念始于1996年,是美国麻省理工学院的一个研究小组为改善互联网的服务质量而提出的。为了能在传统IP网上发布丰富的宽带媒体内容,他们提出在现有互联网基础上建立一个内容分发平台专门为网站提供服务,并于1999年成立了专门的CDN服务公司,为Yahoo提供专.
2021-11-23 14:23:50 2396 1
原创 Let‘s Encrypt泛域名使用和Nginx配置拆分
上一期写了 使用Let’s Encrypt实现网站https化 ,随着二级域名的增多,每个二级域名需要一张 SSL 证书,这可太不优雅了,泛域名表示我可以更优雅。作者:IT王小二博客:https://itwxe.com本来 Let’s Encrypt 泛域名使用、Nginx 配置拆分是准备分成两篇文章来写的,可是两篇文章又感觉篇幅过短和冗余。所以最后决定写在一篇里面吧,同时把整个流程写明白,之前有人问有了证书怎么搭配 Nginx 来配置,这篇从域名映射到Nginx配置完成的保姆级教程,小二求个
2021-08-19 14:36:59 1526 1
原创 基于Gitea搭建属于自己的Git服务
作者:IT王小二博客:https://itwxe.com一、搭建环境和前提搭建环境:操作系统:CentOS7.6Docker版本:docker-ce-18.09.9Lsky Pro版本:1.6.3MySQL版本:5.7安装前提Gitea 可以使用 MySQL、PostgreSQL、MSSQL、SQLite3 作为数据库存储,如果你对其中某个数据库熟悉可以选择相应的数据库,我选择的是 MySQL。所以前提需要安装好 Docker 和 MySQL,如果你已经有这两个环境了,那么可以跳.
2021-08-15 16:48:24 1302 3
原创 Typora+PicGo+LskyPro打造舒适写作环境
工欲善其事,必先利其器。这篇文章教你 Typora + PicGo + LskyPro 打造舒适写作环境。作者:IT王小二博客:https://itwxe.com不知不觉停更好多天啊,最近比较工作和业余都比较忙。工作忙着修bug和写 bug;业余最近折腾了一下博客,使用了泛域名,Nginx配置拆分,博客网站样式优化,博客增加CDN等等…后面这些都会写成文章,感兴趣的小伙伴欢迎关注啊。写作方面图床从自建 MinIO 迁移到了自建图床 Lsky Pro,这也是本篇的重点内容啦,同时开通了自己的微信
2021-08-12 13:36:41 1075 1
原创 Docker编排利器DockerCompose
Docker 编排利器 DockerCompose,编排之后可以一次性通过一条命令启动一组服务例如一条命令启动 SpringBoot 项目,同时启动 SpringBoot 项目依赖的其他中间件(MySQL、Redis等)系列文章欢迎访问:https://www.itwxe.com/posts/9e76db89/一、安装DockerCompose1、下载 Docker Compose 。curl -L https://get.daocloud.io/docker/compose/release.
2021-07-26 12:51:13 191 1
原创 Docker搭建Redis5.0并挂载数据
记录 Docker 搭建 Redis5.0 并挂载数据过程,搭建参考自 Docker Hub系列文章欢迎访问:https://www.itwxe.com/posts/9e76db89/一、简单挂载持久化数据docker run -d -p 6379:6379 --name redis \-v /itwxe/dockerData/redis/data:/data \redis:5.0.8 redis-server --appendonly yes这样仅仅是挂载了数据,Redis 没有密码等.
2021-07-21 12:41:39 255 3
原创 Docker搭建MySQL并挂载数据
记录 Docker 搭建 MySQL 并挂载数据过程,搭建过程参考自 Docker Hub系列文章欢迎访问:https://www.itwxe.com/posts/9e76db89/一、Docker搭建MySQL并挂载数据1、首先安装好 Docker,不知道怎么安装的可以看下 CentOS7安装Docker初体验 。2、下载 MySQL5.7 镜像。docker pull mysql:5.73、创建容器并挂载数据。docker run -d --restart=always --nam.
2021-07-19 12:28:03 411 3
原创 Docker使用maven插件打包SpringBoot项目
上一篇介绍了使用 DockerFile 来构建镜像,这里来介绍 Docker 使用 maven 插件打包 SpringBoot 项目镜像,并且推送到指定服务器。系列文章欢迎访问:https://www.itwxe.com/posts/9e76db89/一、Docker开启远程API写在最前面,这个配置仅适用于内网服务器,公网服务器注意 docker远程API端口 暴露后别人只要知道你的 ip 和 port ,那么就可以操作你的服务器了。所以公网服务器需要额外配置 ACL 和 LTS,有需求的可.
2021-07-16 14:45:28 193
原创 DockerFile构建镜像
前面介绍了怎么通过容器生成镜像,这里来记录一下 DockerFile 构建镜像,学习参考来自 菜鸟教程系列文章欢迎访问:系列文章一、DockerFile是什么Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。– 摘自菜鸟教程说人话就是 Docker 提供了一系列的指令,Docker 引擎可以通过这些指令来构建出镜像。二、DockerFile指令1 FORMFORM 基础镜像必须放在 DOckerfile 的第一行,表示从哪个 基础.
2021-07-14 14:22:39 165
原创 Docker基本操作
Docker容器及镜像的基本操作,操作命令和Linux极其相似,比较简单,本文仅演示部分命令。同时个人学习过程中命令参考来自 菜鸟教程 ,个人认为入门命令或许最轻松简单的就是这里了,每条命令运行完都有示例结果。系列文章欢迎访问:系列文章一、镜像操作1. 镜像操作常用命令# 列出本地镜像列表docker images# 获取镜像docker pull [镜像名:版本]# 删除镜像docker rmi [镜像名:版本或镜像ID]# Dockerfile 创建镜像docker.
2021-07-12 12:38:21 171
原创 CentOS7安装Docker初体验
CentOS7安装Docker初体验系列文章欢迎访问:系列文章一、安装Docker1、安装依赖。yum -y install yum-utils device-mapper-persistent-data lvm22、配置安装 Docker 的仓库为阿里云。yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum clean all &&am.
2021-07-09 12:31:01 91 1
原创 揭开Docker的面纱
开新坑了,开始挖坑Docker了,兄弟们。为什么需要Docker呢?Docker是什么?这里开始揭开Docker的面纱。一、为什么需要Docker可能每个开发人员都有一种困扰,软件开发完之后部署项目,明明测试环境部署了一点问题没有,怎么一到正式环境就出错呢?这种情况有时候问题可能就出在环境配置上,操作系统版本是否一致,软件运行依赖库版本是否一致,操作系统设置是否一致…等等都有可能造成部署失败。那么有没有一种办法可以保持所有机器的环境配置都一致呢,这样同时也方便我们迁移系统,不然每次扩容部.
2021-07-07 09:24:39 166 1
原创 nginx+keepalived高可用
一次面试过程中…面试官:你这个使用 nginx 做负载,是使用单台 nginx 吗?如果 nginx 挂了怎么办?我:是的,由于业务访问量不大 nginx 挂的可能性不大,考虑服务的稳定性可以使用 keepalived。面试官:你知道实现的思路和配置吗?我:。。。一、传统高可用tomcat 高可用的思路是在 tomcat 集群前面加一层负载nginx,如下图:但是这种结构一旦 nginx 挂掉了,那么整个服务就瘫痪了。二、LVS思想解决高可用问题1. 什么是LVSLVS是Lin
2021-07-01 09:23:17 282 1
原创 使用Let’s Encrypt实现网站https化
使用 Let’s Encrypt 证书和搭配 Nginx 实现网站 https 化。一、SSL证书获取由于 Let’s Encrypy 申请的 SSL 证书只有三个月的有效期,为了实现自动续期,使用 acme.sh 脚本来获取且自动续期。使用过程中如有问题参考 acme官方文档 ,文档有中文说明,下面记录我自己的操作。1. 下载脚本并安装下载脚本并安装,将邮箱设置成自己的。wget -O - https://raw.githubusercontent.com/acmesh-official/
2021-06-30 09:26:43 241 1
原创 ZooKeeper分布式锁的实现
ZooKeeper分布式锁的实现。在分布式的情况下,sychornized 和 Lock 已经不能满足我们的要求了,那么就需要使用第三方的锁了,这里我们就使用 ZooKeeper 来实现一个分布式锁。一、分布式锁方案比较方案实现思路优点缺点利用 MySQL 的实现方案利用数据库自身提供的锁机制实现,要求数据库支持行级锁实现简单性能差,无法适应高并发场景;容易出现死锁的情况;无法优雅的实现阻塞式锁利用 Redis 的实现方案使用 Setnx 和 lua 脚本机制实
2021-06-29 09:11:01 199 1
原创 ZooKeeper集群解析
ZooKeeper集群解析。这篇文章中来介绍一下 ZooKeeper 相关的集群角色,还有 ZAB协议,集群的安装在 ZooKeeper入门 中有介绍。一、ZooKeeper集群中的角色Leader 集群工作机制中的核心事务请求的唯一调度和处理者,保证集群事务处理的顺序集群内部个服务器的调度者(管理 follower,数据同步),为客户端提供读和写的服务,负责投票的发起和决议,更新系统状态。Follower 集群工作机制中的跟随者处理非事务请求,为客户端提供读服务,如果是写服务则转发给Leade
2021-06-28 09:32:13 221 1
原创 ZooKeeper Java客户端
ZooKeeper Java客户端。这里介绍两个客户端,一个为 ZooKeeper 原生客户端,一个为 ZkClient。首先创建一个maven项目,pom文件中添加依赖。<!-- 原生 --><dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4
2021-06-25 09:20:33 501 1
原创 ZooKeeper入门
ZooKeeper入门。一、ZooKeeper简介ZooKeeper 致力于提供一个高性能、高可用,且具备严格的顺序访问控制能力的分布式协调服务,是雅虎公司创建,是 Google 的 Chubby 一个开源的实现,也是 Hadoop 和 Hbase 的重要组件。1. ZooKeeper优点简单的数据结构:共享的树形结构,类似文件系统,存储于内存。可以构建集群:避免单点故障,3-5 台机器就可以组成集群,超过半数正常工作就能对外提供服务。顺序访问:对于每个读请求,ZooKeeper 会分配一个
2021-06-24 15:40:58 220
原创 实现一个并发任务执行框架
实现一个并发任务执行框架。问题参考来自网络一、需求产生和分析公司里有两个项目组,考试组有批量的离线文档要生成,题库组则经常有批量的题目进行排重和根据条件批量修改题目的内容。架构组通过对实际的上线产品进行用户调查,发现这些功能在实际使用时,用户都反应速度很慢,而且提交任务后,不知道任务的进行情况,做没做?做到哪一步了?有哪些成功?哪些失败了?都一概不知道架构组和实际的开发人员沟通,他们都说,因为前端提交任务到 Web 后台以后,是一次要处理多个文档和题目,所以速度快不起来。提示用多线程进行改进,
2021-06-23 09:30:56 244
原创 并发安全和死锁
并发安全和死锁。一、并发安全1. 什么是线程安全性当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在调用代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的 – Java并发编程实战那么怎么实现线程安全呢?可以使用下面的这些方式。2. 线程封闭1、实现好的并发是一件困难的事情,所以很多时候我们都想躲避并发。避免并发最简单的方法就是线程封闭。什么是线程封闭呢?就是把对象封装到一个线程里,只有这一个线程能看到此
2021-06-22 12:26:02 258
原创 Java线程池
Java线程池。一、为什么要用线程池1、降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。二、ThreadPoolExecutor的类关系Executor 是一个接口,它是 Executor 框架的基础,它将任务的提交与任务的执行分离开来。ExecutorServ
2021-06-21 12:26:06 200
原创 Java并发容器
并发容器。一、小知识1. hash就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。常用 HASH 函数:直接取余法、乘法取整法、平方取中法。hash冲突的处理办法。1、开放寻址法。2、再散列法。3、链地址法(拉链法)常用 h
2021-06-20 15:24:36 137
原创 Java显式锁
Java 显式锁。一、显式锁什么是显式锁?由自己手动获取锁,然后手动释放的锁。有了 synchronized(内置锁) 为什么还要 Lock(显示锁)?使用 synchronized 关键字实现了锁功能的,使用 synchronized 关键字将会隐式地获取锁,但是它将锁的获取和释放固化了,也就是先获取再释放。与内置加锁机制不同的是,Lock 提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作,所有加锁和解锁的方法都是显式的。二、Lock的常用api方法名称描述
2021-06-18 15:05:45 182
原创 Java线程的并发工具类
Java线程的并发工具类。一、fork/join1. Fork-Join原理在必要的情况下,将一个大任务,拆分(fork)成若干个小任务,然后再将一个个小任务的结果进行汇总(join)。适用场景:大数据量统计类任务。2. 工作窃取Fork/Join在实现上,大任务拆分出来的小任务会被分发到不同的队列里面,每一个队列都会用一个线程来消费,这是为了获取任务时的多线程竞争,但是某些线程会提前消费完自己的队列。而有些线程没有及时消费完队列,这个时候,完成了任务的线程就会去窃取那些没有消费完成的线程的
2021-06-17 16:59:21 154
原创 线程基础、线程之间的共享和协作
线程基础、线程之间的共享和协作。一、基础概念1. 进程和线程进程是操作系统进行程序运行资源(资源包括:CPU、内存空间、磁盘 IO 等)分配的最小单位,例如我们的 idea,chrome就是一个进程。线程是 CPU 调度的最小单位,必须依赖于进程而存在,一个进程存在一个或多个线程。2. CPU核心数和线程数的关系多核心:也指单芯片多处理器( Chip Multiprocessors,简称 CMP),CMP 是由美斯坦福大学提出的,其思想是将大规模并行处理器中的 SMP(对称多处理器)集成
2021-06-16 12:20:57 274
原创 JVM性能优化
JVM 性能优化。一、内存溢出内存溢出的原因:程序在申请内存时,没有足够的空间。1. 栈溢出方法死循环递归调用(StackOverflowError)、不断建立线程(OutOfMemoryError)。2. 堆溢出不断创建对象,分配对象大于最大堆的大小(OutOfMemoryError)。3. 直接内存JVM 分配的本地直接内存大小大于 JVM 的限制,可以通过-XX:MaxDirectMemorySize 来设置(不设置的话默认与堆内存最大值一样,也会出现OOM 异常)。4. 方法区溢
2021-06-15 10:12:19 741 2
原创 JVM 的执行子系统
JVM 的执行子系统。一、Class类文件结构1. JVM的平台无关性与平台无关性是建立在操作系统上,虚拟机厂商提供了许多可以运行在各种不同平台的虚拟机,它们都可以载入和执行字节码,从而实现程序的一次编写,到处运行。各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础。Java 虚拟机不和包括 Java 在内的任何语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联,Class 文件中包含了 Java 虚拟机
2021-06-13 15:00:57 1141 1
原创 JVM 垃圾回收算法和垃圾回收器
JVM 垃圾回收算法和垃圾回收器。一、垃圾回收的区域栈:栈中的生命周期是跟随线程,所以一般不需要关注。堆:堆中的对象是垃圾回收的重点。方法区:这一块也会发生垃圾回收,不过这块的效率比较低,一般不是我们关注的重点。二、怎么判断对象的存活一般有两种方式(引用计数法、可达性分析),JVM使用的是可达性分析。1. 引用计数法给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收(Python 在用,但主流虚拟机没有使用)。优点:快
2021-06-12 12:23:59 587
原创 JVM中的对象
JVM中的对象。一、对象的创建过程检查加载 -> 分配内存 -> 内存空间初始化 -> 设置 -> 对象的初始化1. 检查加载虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那么必须先执行相应的类加载过程。2. 分配内存根据方法区的信息确定为该类分配的内存空间大小。但是分配内存时主要注意两个问题1、如何分配空间指针碰撞:假设Java堆中内存是绝对规整
2021-06-11 14:55:15 219
原创 JVM组成结构
JVM组成结构。一、JavaSE体系JavaSE,Java 平台标准版,为 Java EE 和 Java ME 提供了基础。JDK:Java 开发工具包,JDK 是 JRE 的超集,包含 JRE 中的所有内容,以及开发程序所需的编译器和调试程序等工具。JRE:Java SE 运行时环境 ,提供库、Java 虚拟机和其他组件来运行用 Java 编程语言编写的程序。主要类库,包括:程序部署发布、用户界面工具类、继承库、其他基础库,语言和工具基础库。JVM:Java 虚拟机,负责 JavaSE 平台
2021-06-10 09:28:17 148
原创 Redis高可用
有时候单机形式下的redis性能不足时可能会挂掉导致系统服务异常,为了解决这个问题就有了下面这个内容。一、Redis主从复制1. 主从复制的理解类似于MySQL的读写分离,一台Redis(主节点)进行写,其他Redis(从节点)进行读。从节点建议用只读模式 slave-read-only=yes, 若从节点修改数据,主从数据不一致,主节点数据更改后从节点数据又被覆盖,没有任何意义。传输延迟:主从一般部署在不同机器上,复制时存在网络延时问题,redis 提供。repl-disable-tcp-
2021-06-09 19:43:41 183 1
原创 Redis性能测试、jedis连接原理、弱事务
Redis 性能测试、jedis连接原理、弱事务。一、性能测试、jedis连接原理1. 什么是Redis慢查询和MySQL一样:当sql执行时间超过 long_query_time 参数设定的时间阈值(比如2秒)时,会发生耗时命令记录。通信流程如下:redis命令的生命周期:发送、排队、执行、返回。redis 的所有指令全部会存放到队列, 由单线程按顺序获取并执行指令。如果某个指令执行很慢, 会出现阻塞, 以上图可以得出: Redis 的慢查询指的是在执行第 3 个操作的时候发生的。2.
2021-06-09 09:17:33 297 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人