会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
MelonTe
博客园
首页
新随笔
联系
订阅
管理
2025年4月28日
redlock并发锁学习小结
摘要: 1、Redlock 最近学习了以下Redis的作者antirez在很早之前提出的Redlock分布式锁的概念,阅读了以下两篇文章: 基于Redis的分布式锁到底安全吗(上)? 基于Redis的分布式锁到底安全吗(下)? 在本篇博客中,会对Redlock的实现做一些简单的总结,来加深自己对该分布式锁实
阅读全文
posted @ 2025-04-28 16:07 MelonTe
阅读(72)
评论(0)
推荐(0)
2025年4月22日
Golang从0到1实现简易版expired LRU cache带图解
摘要: 1、支持Put、Get的LRU实现 想要实现一个带过期时间的LRU,从易到难,我们需要先学会如何实现一个普通的LRU,做到O(1)的Get、Put。 想要做到O(1)的Get,我们很容易想到使用哈希表来存储每个key对应的value;要想实现O(1)的Put,并且能当容量满了的时候自动弹出最久未使用
阅读全文
posted @ 2025-04-22 20:02 MelonTe
阅读(352)
评论(0)
推荐(1)
2025年4月19日
Innodb快速复习
摘要: 放一张官方架构图: 参考文章: 一文带你了解MySQL之InnoDB_Buffer_Pool-阿里云开发者社区这一篇buffer pool讲解的很好 【动画演示:MySQL的BufferPool和ChangeBuffer是如何加快数据读写速度的】https://www.bilibili.com/vi
阅读全文
posted @ 2025-04-19 00:44 MelonTe
阅读(71)
评论(0)
推荐(0)
2025年3月19日
Raft学习笔记
摘要: 0、前言 Raft 作为一种强一致性的共识算法,被广泛应用于分布式系统中,如 etcd、Consul 等。最近阅读了一篇关于 Raft 的技术文章,收获颇多,因此写下此学习笔记,记录其中的关键概念与个人理解。 需要说明的是,这篇文章并不是从零讲解 Raft,而是基于已有的文章内容进行总结和思考。(并
阅读全文
posted @ 2025-03-19 20:57 MelonTe
阅读(314)
评论(0)
推荐(1)
2025年3月18日
golang单机锁实现
摘要: 1、锁的概念引入 首先,为什么需要锁? 在并发编程中,多个线程或进程可能同时访问和修改同一个共享资源(例如变量、数据结构、文件)等,若不引入合适的同步机制,会引发以下问题: 数据竞争:多个线程同时修改一个资源,最终的结果跟线程的执行顺序有关,结果是不可预测的。 数据不一致:一个线程在修改资源,而另一
阅读全文
posted @ 2025-03-18 21:53 MelonTe
阅读(328)
评论(0)
推荐(0)
2025年3月5日
万字解析Golang基于桶思想的map实现原理
摘要: 0、引言 相信大家对Map这个数据结构都不陌生,像C++的map、Java的HashMap。各个语言的底层实现各有不同,在本篇博客中,我将分享个人对Go的map实现的理解,以及深入源码进行分析,相信耐心看完一定会收获不少。 1、宏观结构 相信大家对于map的基本使用都不陌生,Golang中的map是
阅读全文
posted @ 2025-03-05 21:20 MelonTe
阅读(510)
评论(4)
推荐(0)
2025年2月25日
Go实现动态开点线段树
摘要: 1、线段树介绍 线段树是一种用于高效处理区间查询和区间更新的数据结构,当我们需要解决一个频繁更新区间值的问题的时候,就可以采用线段树的结构进行解决。线段树的核心思想是将区间分为多个子区间进行管理,越往下区间范围越小,根节点表示整个线段树能表示的区间。 本文记录使用Go实现动态开点线段树的方式,该模板
阅读全文
posted @ 2025-02-25 20:04 MelonTe
阅读(219)
评论(0)
推荐(2)
2025年2月24日
使用Go复刻skiplist核心功能
摘要: 0、引言 正好做LC每日一题要求实现一个跳表,于是学习了redis的扩展skiplist,并使用Go进行复刻学习。学习参考了文章:Redis内部数据结构详解(6)——skiplist - 铁蕾的个人博客 因为作者能力有限,本文只是对跳表的核心功能:创建节点与跳表、插入节点、删除节点、获取节点rank
阅读全文
posted @ 2025-02-24 20:08 MelonTe
阅读(168)
评论(1)
推荐(2)
2025年2月7日
Golang的Channel机制源码学习
摘要: 1、核心数据结构 1.1、hchan type hchan struct { qcount uint // total data in the queue dataqsiz uint // size of the circular queue buf unsafe.Pointer // points
阅读全文
posted @ 2025-02-07 20:12 MelonTe
阅读(102)
评论(0)
推荐(0)
2024年12月22日
Golang逃逸现象
摘要: 1、什么是内联函数?什么是逃逸现象? 什么是内联函数? 内联函数是一种在编译时,直接将要调用的代码嵌入到调用处的优化技术,其主要目的是减少函数调用时的开销,例如对于普通函数其执行过程如下: 将参数压入栈中 根据地址跳转至对应位置执行 执行完毕后返回调用点 而使用内联函数则将函数的代码嵌入到调用点,从
阅读全文
posted @ 2024-12-22 20:58 MelonTe
阅读(127)
评论(0)
推荐(0)
下一页
公告