自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【LeetCode热题100】 1-5

力扣hot100前五题

2025-11-26 19:43:18 690 2

原创 go语言实现 基于 Session 和 Redis 实现短信验证码登录

本文介绍了基于Session 和Redis 实现短信验证码登录 的相关内容

2025-10-21 22:12:33 1096 2

原创 Redis 缓存

缓存(Cache)是一种临时存储机制,用于存放经常访问的数据或计算结果,以便下次需要时可以更快速地获取,一般读写性能较高。缓存一般存储在内存中,它可以在计算机、网络设备或分布式系统中使用。缓存的作用:提高访问速度,降低延迟:缓存通常存储频繁访问的数据,相较于数据库、磁盘等存储介质,内存的读写速度更快,因此可以大幅提高数据访问的响应速度。减少数据库负载:将常用的数据存储在缓存中,能够减少频繁的数据库访问,减轻数据库的负载,特别是在高并发情况下,这对于提升系统性能至关重要。总而言之,缓存的核心作用是。

2025-10-14 22:47:08 1171 8

原创 Redis 持久化

RDB持久化是Redis用来将内存中的数据保存到磁盘的一种方式。具体来说,Redis会在后台定期创建内存数据的快照,并将这些快照保存在磁盘上的RDB文件中。通过这种方式,Redis可以在发生崩溃或重启时,利用RDB文件恢复数据。RDB文件存储的是Redis数据库的完整快照,因此,在Redis重启后,它会从RDB文件中恢复数据,保证数据的持久性。对于大多数对数据一致性要求较低的应用,RDB是一种高效且简单的持久化方式。RDB持久化是一种通过定期生成内存数据快照来保存数据的机制,它的优点是性能高、恢复速度快。

2025-10-12 17:48:59 830

原创 tcp三次握手、四次挥手

本人讲述了tcp的概念以及tcp的三次握手、四次挥手

2025-10-12 15:16:03 368

原创 Cookie 和 Session

本文主要讲解了 Cookie 和 Session 相关内容

2025-09-14 22:38:19 1060

原创 golang -- viper

是适用于Go应用程序(包括Twelve-Factor App)的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式说白了 就是把配置信息存放到 viper 里面,需要用到配置信息的时候再从 viper 中拿出来。

2025-09-01 10:51:12 1072

原创 什么是雪花算法

的,那再仅仅用一张表存储数据肯定是不可行的,就像你开学搬行李的时候,一趟搬不上楼怎么办,要么找人帮你搬,要么分几趟搬,数据也是一样的,既然存不下,那就分开存。但是随着业务增长,数据可能来到上亿行,而一个表中的存储空间、并发能力 又是。,很好理解,就是性能出现问题,比较某游戏服务器爆了,学校选课平台因为访问的人太多进不去。系统小的时候,数据库里的几万、几十万数据,放在一个表里没问题。村里只有一个井,一旦这口井干了,全村人都打不上水了。,而且 每条记录的索引变大,数据库的。

2025-08-30 15:25:25 912

原创 【MySQL数据库】索引 - 结构 学习记录

在学习二叉树的时候我们都知道,如果一组数据是按序给出的,那么形成的二叉树的结构就会是一个链表,查询性能大大降低。此外,二叉树一个根结点只有两个子结点,如果数据量很大,那么二叉树的层级就会较深,搜索效率降低。,这里假设使用 二叉搜索树 作为索引,那么这张表就会变成(只是以二叉搜索树为例)和二叉搜索树一样,如果数据量很大,层级会较深,进而搜索效率降低。,MySQL 查数据只能 全表扫描,一行一行去比对。事物都具有两面性,索引 既有优点也有缺点。(可以看出,索引是一种数据结构)的情况,搜索效率是非常高的。

2025-08-30 13:00:05 452

原创 【MySQL数据库】存储引擎 学习记录

MySQL服务端的体系结构是分层的。

2025-08-28 22:21:56 620

原创 Redis 数据结构

而设计的一种顺序存储结构,本质上就是一块连续的内存区域,用来存放多个数据节点它主要用于存储:小的 list (列表)小的 hash (哈希)小的 sorted set (有序集合)当数据量小、元素小的时候,Redis 会用 ziplist 来存,节省内存开销。

2025-08-27 18:43:21 1211

原创 学会使用golang zap日志库

go语言zap日志库的基本使用

2025-07-30 16:13:37 1080 5

原创 【MySQL数据库】事务四大隔离级别

MySQL事务四大隔离级别

2025-07-18 16:38:31 1082 3

原创 golang -- map实现原理

本文将深入探讨 Go 语言中 map 的实现原理,分析它的内存布局、扩容策略、哈希计算方式等关键细节。

2025-06-12 18:29:32 1392 8

原创 golang -- unsafe 包

unsafe 包的函数用法和作用

2025-06-10 20:34:30 1135 2

原创 【数据结构 -- B树】

前面我们已经学习了二叉搜索树和AVL树,它们的查找、插入、删除数据效率都很高,我们首先需要了解它们是怎么操作数据的首先将所有数据一次性调到内存中,再在内存中进行处理但问题是内存的容量并不是很大,一般都在GB级别,如果要处理的数据规模非常大,大到内存根本装不下了,那么数据只能先存在硬盘中(硬盘的容量比内存大得多,甚至达到TB级别),处理到某些数据的时候再调到内存中进行处理为什么不直接从硬盘中处理数据。

2025-06-03 23:34:33 1294

原创 golang -- slice 底层逻辑

前段时间学了go语言基础,过了一遍之后还是差很多,所以又结合几篇不同资料重新学习了一下相关内容,对slice做个总结总的来说 slice 的底层还是比较重要,对于后续的学习和面试都必不可少。

2025-06-01 17:56:04 1271

原创 【数据结构 -- AVL树】c语言和go语言实现

本文讲述了AVL的性质、实现思想及代码实现,更正了代码实现部分,使用 C 语言和 Go 语言实现AVL树

2025-05-20 14:56:33 1428

原创 【数据结构 -- 二叉搜索树(BST)】用golang实现二叉搜索树

二叉搜索树的概念、性质及实现方法(golang版)

2025-05-19 00:11:36 1058

原创 golang -- 认识channel底层结构

channel的底层结构、select多路复用的使用和规则、锁与死锁

2025-05-15 22:10:13 1487

原创 golang -- 如何让main goroutine等一等

由于goroutine在创建过程时有一定开销,导致可能比main goroutine执行得要慢介绍两种让main goroutine等一等的方法:sync.WaitGroup和初步认识channel

2025-05-14 19:08:19 1202

原创 golang -- 如何获取变量类型

深入了解获取变量类型的几种函数

2025-05-09 22:14:26 1414

原创 golang -- 格式化输出函数 printf、sprintf、fprintf

比较printf、sprintf、fprintf的相似与不同之处

2025-05-07 21:57:53 628

原创 Golang -- 结构体

要在计算机中访问一个变量,需要访问它的内存地址,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但是实际情况是:在访问特定类型变量的时候 通常在特定的内存地址访问,这就需要对这些数据据在内存中存放的位置进行限制,各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个地排列,这就是对齐。

2025-05-05 17:09:57 1163

原创 【算法考核】--力扣 4.24

2025.4.24力扣算法考核,125. 验证回文串 455. 分发饼干 226. 翻转二叉树 19. 删除链表的倒数第 N 个结点 921. 使括号有效的最少添加 107. 二叉树的层序遍历 II 611. 有效三角形的个数 402. 移掉 K 位数字

2025-05-05 04:54:48 1024

原创 【数据结构--哈希表】

对哈希表及相关概念的理解,用C语言实现哈希表(直接定址法)

2025-04-26 11:17:43 1064

原创 【数据结构--排序】(冒泡、选择、插入、希尔、快排、归并、堆排序)

冒泡、选择、插入、希尔、快排、归并、堆排序讲解

2025-04-19 15:59:26 876

原创 【数据结构--二叉树】

【数据结构--二叉树】二叉树概念结构、类型以及顺序结构和链式结构二叉树的实现,常见代码实现

2025-04-10 22:44:03 1202

原创 【数据结构--堆】

详解堆结构的实现及原理

2025-04-09 22:46:07 1331

原创 【数据结构---栈和队列(C语言详解)】+具体应用---力扣习题

栈的底层逻辑是数组,初始化方式与顺序表类似。顺序表详解🔗//定义栈int top;//指向栈顶位置//栈顶容量}ST;//栈的初始化assert(ps);概念:队列是一种线性数据结构,只允许在一段进行插入数据操作,在另一端进行删除数据操作,遵循“先进先出就好比做核酸的时候,在前面先做完的先走。入队列: 在队尾进行插入操作出队列: 在对头进行删除操作//队列结点的结构}QueueNode;//队列结构}Queue;//初始化assert(pq);

2025-04-03 17:37:05 1105

原创 力扣--160.相交链表(详细思路和代码实现)

那么根据这一点就可以知道,若两个链表不等长,长的链表多的那一部分肯定不会是相交的!不用太在意执行用时,用时和很多因素有关,一样的代码放在不同电脑或不同时间运行,时间都有可能会不一样。下面就很简单了,若长链表比短链表多k个元素,那么先让长的链表走k步,之后再遍历两个链表。如果A、B链表等长,那么从头开始遍历,查找两个链表是否相交即可,如图。欢迎大家指出不足呀,哪里有不懂的评论区或者私信都可以哦!在A、B链表中,都有数据300,但是并不相交。若相交,那么从相交的结点开始到最后一定是。(2)定义长链表、短链表。

2025-03-26 19:42:52 608

原创 【数据结构-顺序表详解】

数据结构详解

2025-03-25 21:42:22 1070

空空如也

空空如也

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

TA关注的人

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