自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 收藏
  • 关注

原创 mysql如何使用explain来分析语句使用到的索引效果

是的,使用 `EXPLAIN` 语句可以帮助你分析 SQL 查询的执行计划,从而了解查询的性能和潜在的优化点。1. **添加索引**:如果 `Uid` 列没有索引,可以考虑为其添加索引,以提高查询性能。- `possible_keys` 和 `key` 都为 `NULL`,说明没有使用索引。2. **select_type**:查询的类型,例如简单查询、联合查询等。2. **优化查询**:如果可能,尝试优化查询逻辑,减少需要处理的数据量。1. **id**:查询的标识符,表示查询的顺序。

2024-09-04 16:35:13 679

原创 如何保证Redis与Mysql双写一致性?

延时双删策略能够有效解决缓存和数据库之间的数据不一致问题。它的核心思想是在更新数据库之后,先删除缓存中的数据,延迟一段时间后再次删除缓存中的数据。更新数据库:先将数据更新到数据库中。删除缓存:立即删除缓存中对应的旧数据。延迟一段时间:等待一段时间(通常是足够长以保证并发写入完成的时间)。再次删除缓存:再次删除缓存中的数据,以防止并发操作在缓存中留下旧数据。tips:延迟双删需要由更新数据的那个程序去处理。

2024-09-02 12:02:04 1289

原创 [mongo入门日记]

2024-8-30。

2024-08-30 11:57:58 719

原创 为什么负载均衡要使用一致性哈希算法?

通过对 `uid` 进行哈希处理,能够打破输入值的原始分布特征,从而获得更加均匀和随机的分布效果。而通过哈希后再取模,能在一定程度上增加安全性,防止恶意用户利用 `uid` 的分布特性对系统进行攻击。在分布式系统中,通常使用一致性哈希(或类似的哈希算法)来分配请求到不同的服务器节点,以实现负载均衡和容错处理。- `uid` 的分布特性可能会导致某些节点经常被选择到,而其他节点几乎没有流量。- 直接使用 `uid` 取模,可能会导致分布不均匀,尤其是当 `uid` 是连续的或有特定分布特征时。

2024-08-13 20:51:25 266

原创 socket和websocket 有什么区别

**WebSocket** 是一种专门用于 Web 应用的高效实时通信协议,建立在 TCP 之上,提供双向的、低延迟的全双工通信,适用于需要实时数据更新的场景。- 它用于建立客户端和服务器之间的连接,进行数据的发送和接收。- WebSocket 的通信是事件驱动的,数据可以以消息的形式实时地从服务器推送到客户端,适用于需要频繁更新或实时交互的应用场景。- 通常,基于 Socket 的通信是半双工的,这意味着客户端和服务器之间的消息传递是相互阻塞的:一方发送消息,另一方接收消息。

2024-08-13 18:14:47 519

原创 linux-$PATH

位于左边的目录下的文件会优先生效。

2024-08-09 16:10:19 111

原创 makefile-入门1-PHONY

声明让make忽略文件系统中的同名文件或目录,确保无论是否存在名为api的文件或目录,make api都会执行Makefile中定义的命令。这是确保Makefile行为一致且可预见的一个常见做法。

2024-08-09 15:09:46 373

原创 Golang编译-如何忽略某些文件去编译

Go 编译器不会将编译好的二进制文件作为编译过程的输入。编译时只会考虑源代码文件(.go文件)。生成的二进制文件与后续的编译过程无关,且不会影响编译。这意味着在项目中,生成的二进制文件可以安全地留在目录中,而不会意外被再次编译。4o。

2024-08-09 15:01:53 675

原创 【Goland编辑器】Goland编辑器设置代码跳转的地方

点击代码跳转时,由proto生成的文件,就不会再跳转到proto定义处,而是跳转到代码使用的地方【正是我需要的】。在这里将Custom folding regions打开后,关闭了插件里面proto相关的插件后,

2024-07-23 18:05:21 251

原创 Gateway终端需要显示出当前代码分支

如果你使用的是默认的bash shell,那么配置文件就是`~/.bashrc`。这个函数会检查当前目录是否是一个git仓库,并如果是的话,就会输出当前的git分支。4. 保存并关闭文件。如果你在使用nano,你可以通过按`Ctrl+X`,然后按`Y`,最后按`Enter`来保存并关闭文件。要在终端中显示当前Git分支,你可以修改bash提示符(PS1)。你可以通过运行以下命令来使改动立即生效,或者关闭并重新打开终端。现在,每当你导航到一个git仓库时,你的bash提示符就会显示当前的git分支了。

2024-01-25 14:16:46 388 1

原创 mongo使用学习FAQ

在 MongoDB 中使用事务时,可以保证 ACID 特性(原子性、一致性、隔离性和持久性),这在关系数据库系统中是一个标准特性。MongoDB 的单个文档操作是原子性的,这意味着对单个文档的更新可以自动享受到事务性的保证。因此,在操作数据库和集合时,确保准确地使用正确的大小写是很重要的。在实际使用中,建议采用一致的命名规则,以减少大小写导致的错误。需要注意的是,MongoDB 的事务在单个副本集中使用时效果最佳。在 MongoDB 中,数据库和集合的名称是区分大小写的。命令创建MongoDB中的数据库。

2023-12-23 17:43:59 972

原创 使用docker在linux上安装mongo

这样安装的mongo会默认没有账号密码,为了安全请设置账号密码。容器端口映射到主机端口27017。

2023-12-23 15:33:15 421

原创 要丢弃您的本地代码库中所有未跟踪文件的修改,并在原本不存在的情况下删除它们,您可以使用以下 Git 命令:

是一个非常强力的命令,它将会永久删除那些未跟踪的文件和目录。在执行此命令之前,请确保您不需要这些文件或已经对它们进行了备份。这个命令会删除所有未跟踪的文件和目录。指示 Git 同时删除未跟踪的目录。命令来确认这些文件已经被删除。

2023-12-22 17:18:17 433

原创 mysql 的charset是什么 有哪些?

MySQL 的字符集(charset)用于定义存储文本数据时使用的编码。字符集决定了可以在表或列中存储哪些字符,以及如何存储。

2023-12-12 19:50:42 983

转载 Golang所有模块

例如,当 go 命令下载模块 corp.example.com/repo.git/mod 时,它将克隆 git 存储库 https://corp.example.com/repo.git 或 ssh://corp.example.com/repo.git 且不需要进行额外请求。使用此设置,当 go 命令下载模块或模块元数据时,它将首先向 proxy.golang.org 发送由 Google 操作的公共模块代理 (隐私政策)。使用此设置,go 命令将不会验证下载的模块,除非它们已在 go.sum 中。

2023-11-07 11:59:37 155

原创 visual设置

Visual studio取消符号加载_visual studio c++ 符号加载-CSDN博客

2023-10-03 11:48:05 158

原创 error C2220: warning treated as error - no ‘object‘ file generated

1. **确定警告原因**:在`error C2220`错误消息之前,应该有一个触发它的编译器警告。4. **考虑处理所有警告**:即使你选择不将警告视为错误,通常最好查看并解决编译器警告,因为它们经常可以指出代码中的潜在问题或低效之处。- 如果你有意将警告视为错误(这通常是确保代码质量的好方法),请修复代码中的警告。最后,如果你不确定警告的性质以及如何解决,随时提供具体的警告消息,我会很乐意帮助你解决。3. **重新编译**:做了必要的更改后,重新编译你的代码,看看问题是否已经解决。2. 选择`属性`。

2023-08-21 12:01:50 1884

原创 utf8mb4_general_ci 和utf8mb4_unicode_ci有什么异同,有什么优劣

总之,根据项目的具体需求来选择适合的排序规则是最为重要的。2. `utf8mb4_unicode_ci` 是一个更为复杂和精确的排序规则,它根据 Unicode 标准进行字符排序和比较。`utf8mb4_general_ci` 和 `utf8mb4_unicode_ci` 都是 MySQL 数据库中的字符集和排序规则(collation)。- `utf8mb4_unicode_ci` 排序规则相对于 `utf8mb4_general_ci` 来说,可能会稍微降低性能,因为它需要更复杂的算法来处理排序。

2023-08-02 18:13:07 5061

原创 mysql stmt

例如,设置 `Stmt=1` 来启用预处理语句。在 MySQL 中,可以通过查看 `@@sql_mode` 系统变量来确定当前数据库的预处理语句(Stmt)的默认设置。预处理语句与 SQL 模式有关,因此通过查看 `@@sql_mode` 可以获取与预处理语句相关的默认设置。通常情况下,MySQL 默认启用预处理语句(`Stmt=1`),即 `@@sql_mode` 的值包含了 `PREPARE`。如果 `@@sql_mode` 中没有明确包含 `PREPARE`,则表示预处理语句可能未启用。

2023-08-01 10:40:32 303

原创 使用apifox发起grpc调用

grpc,apifox

2023-07-11 11:57:16 710

原创 Basic authentication which is disabled by default Failed to obtain WebVPN cookie

openconnect

2023-07-11 11:26:32 287

原创 cisco linux连接到vpn

1. 下载和安装 Cisco AnyConnect 客户端:访问 Cisco 官方网站或您所在组织提供的资源,下载并安装适用于 Linux 的 Cisco AnyConnect 客户端。根据您所在组织或您的 VPN 提供商的指南,提供正确的 VPN 服务器地址、身份验证凭据和其他所需的信息。一旦连接成功,您将能够通过 VPN 访问您的远程网络资源。要通过 Linux 连接到 Cisco VPN,您可以使用 Cisco AnyConnect 客户端或通过命令行使用 OpenConnect。

2023-07-11 11:24:03 1471

转载 主机字节序和网络字节序

网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。Intelx86 全部 Little endian

2022-09-02 17:05:56 738

转载 2021-01-25Golang之reflect-reflect.Value,reflcet.Type源码分析

Golang之reflect发表于2019-06-25|分类于golang源码解析|阅读次数:80反射 —— 如果你之前学过一些别的语言,比如java可能就会了解,反射是一个传说中很厉害的操作,算是一个高级用法。而同时,很多人也会告诉你,反射是一个危险的操作,那么在golang中,反射又是怎么操作的呢?今天就来说说golang中的反射reflect。反射的定义首先问问自己,你知道什么是反射吗?如果你有一个清楚的定义,证明你已经对反射非常熟悉了。官方的定义很官方,我就...

2021-01-25 15:17:29 385

原创 2021-01-22json转go结构体

https://blog.csdn.net/wzbwzh/article/details/105859498

2021-01-22 16:30:10 276

转载 2021-01-22goland函数注释生成插件

goland函数注释生成插件goanno 使用方式网上存在很多如何使用goland生成函数注释模版的介绍,比如有介绍在Live Template中编写。可以参考这篇文章配置Preferences | Editor | Live Templates 配置文档先说一下,可以生效,但是前提是你的光标在函数内,不能放在函数头部,并且生成的注释也在函数内部,之后需要手动复制出来。除此之外,goland的一些特性比如函数接受者,多个return都无法支持。由于目前暂时没有发现一个完全可以使用用.

2021-01-22 16:28:53 1561

原创 2020-11-21 芯片测试golang实现

//思路:参考Mood 清华大学《算法与分析》汪小林 第三周:分支策略(2) 3.4芯片测试//时间复杂度O(n)https://www.icourse163.org/learn/PKU-1002525003?tid=1450408483#/learn/content?type=detail&id=1214976926&cid=1219230271func main() { //true:好芯片,false:坏芯片 //chips := []bool{true,...

2020-11-21 15:56:27 239

转载 Golang 伪随机/真随机取某个范围内的随机数

Golang 伪随机/真随机取某个范围内的随机数???? Tue, 13 Nov 2018 by GolangNotegolang 内置能实现伪随机(math/rand)和真随机(crypto/rand)的库。真随机和伪随机概念先大概了解一下伪随机和真随机的概念。根据密码学原理,要想对一个“随机数”进行随机性检验有以下几个标准:统计学伪随机性 - 在给定的随机比特流样本中,1 的数量大致等于 0 的数量,也就是说,“10”“01”“00”“11” 四者数量大致相等。说人话就是:“一眼看上去是随机的

2020-11-04 10:01:58 3406

转载 2020-08-24 电口与光口的区别

电口与光口的区别电口与光口的区别光口 光纤接口是用来连接光纤线缆的物理接口。其原理是利用了光从光密介质进入光疏介质从而发生了全反射。通常有SC、ST、FC等几种类型,它们由日本NTT公司开发。FC是Ferrule Connector的缩写,其外部加强方式是采用金属套,紧固方式为螺丝扣。ST接口通常用于10Base-F,SC接口通常用于100Base-FX。电口 电口是相对光口来讲的,是指防火器的物理特性,主要指铜缆,包括普通的网线和射频同轴电缆,是处理的电信号。目前...

2020-08-24 12:09:42 1371

原创 goproxy

我们知道从 Go 1.11 版本开始,官方支持了 go module 包依赖管理工具。其实还新增了 GOPROXY 环境变量。如果设置了该变量,下载源代码时将会通过这个环境变量设置的代理地址,而不再是以前的直接从代码库下载。这无疑对我等无法科学上网的开发良民来说是最大的福音。更可喜的是,goproxy.io 这个开源项目帮我们实现好了我们想要的。该项目允许开发者一键构建自己的 GOPROXY 代理服务。同时,也提供了公用的代理服务https://goproxy.io,我们只需设置该环境变量即可正常.

2020-06-08 16:30:13 724

原创 目前四种swift代码格式化工具

项目 仓库链接 SwiftFormat github.com/nicklockwoo… SwiftLint github.com/realm/Swift… Prettier with Swift Plugin github.com/prettier/pr… swift-format(已提议) github.com/google/swif…

2020-05-16 11:50:48 1036

原创 appcode代码格式化快捷键macos

原文:https://www.jetbrains.com/help/objc/reformat-and-rearrange-code.htmlReformat a code fragment in a file In the editor, select a code fragment you want to reformat. From the main menu, selectCode | Reformat⌥⌘L. If you don't select a...

2020-05-16 11:38:18 568

原创 Kubernetes使用指南

# Kubernetes使用指南摘要:Kubernetes是由谷歌发起的开源容器编排工具。本文档解释了Kubernetes中常用的概念并结合我们的使用环境给出部署解决方案。知识基础:Docker,容器。推荐:也可直接阅读官方文档。可先阅读完[Tutorials](https://kubernetes.io/docs/tutorials/)的`Kubernetes Basics`之后,再...

2020-05-04 16:58:27 886

原创 windows下github的ssh方式免密配置

原文链接:https://blog.csdn.net/lxj_1993/article/details/78793157检查本机是否有sshkey设置$cd~/.ssh或cd.ssh如果没有则提示:Nosuchfileordirectory如果有则进入~/.ssh路径下(ls查看当前路径文件,rm*删除所有文件)1、使用GitBash生成新的ssh...

2020-03-31 09:54:19 436

转载 MySQL性能优化

MySQL性能优化 (转)

2019-06-17 11:44:51 133

原创 mysql索引

先看了清华的那本《数据结构》中的B树,再看了下面几篇文章。文章写得不错。MySQL索引背后的数据结构及算法原理主码索引、聚集索引、非主码索引(辅助索引)、唯一索引、外键索引、复合索引、非主码索引、聚集主码(聚集索引)、单列索引、多列索引、普通索引等浅析——B树,B+树,B*树以及分析MySQL的两种引擎...

2019-06-06 18:04:51 136

转载 聚集索引和非聚集索引(整理)

官方说法:聚集索引  一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。  聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。         聚集索引对于那些经常要搜索范围值的列特别有效。使用...

2019-06-06 14:50:55 182

转载 计算机缓存、内存、硬盘、网络时延

Latency numbers every programmer should knowL1 cache reference ......................... 0.5 nsBranch mispredict ............................ 5 nsL2 cache reference ........................... 7 ...

2019-06-06 10:42:22 573

转载 内存,磁盘,cache等访问速度

google工程师JeffDean首先在他关于分布式系统的ppt文档列出来的,到处被引用的很多。1纳秒等于10亿分之一秒,=10^-9秒-----------------------------------------------------------NumbersEveryoneShouldKnowL1cachereference 读取CPU的一级缓存...

2019-06-05 17:32:08 1474

转载 什么是Cyclomatic Complexity(圈复杂度)?

圈复杂度(Cyclomatic Complexity)是一种代码复杂度的衡量标准。它可以用来衡量一个模块判定结构的复杂程度,数量上表现为独立线性路径条数,也可理解为覆盖所有的可能情况最少使用的测试用例数。圈复杂度大说明程序代码的判断逻辑复杂,可能质量低且难于测试和维护。程序的可能错误和高的圈复杂度有着很大关系。下面这个实例中,单元测试的覆盖率可以达到100%,但是很容易发现这其中已经漏掉了一个...

2019-06-05 15:49:09 2119

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除