03 2021 档案
摘要:RESP 文章开始前,先放出两道面试题1.Redis底层,使用的什么协议?2.RESP是什么,在Redis怎么体现的? 什么是 RESP? 是基于TCP的应用层协议 RESP(Redis Serialization Protocol);RESP底层采用的是TCP的连接方式,通过tcp进行数据传输,然
阅读全文
摘要:在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景 场景描述 假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号
阅读全文
摘要:数据库索引分为主键索引和普通索引 InnoDB 和MyIsam是怎么利用B+数 来实现两类索引的? 问题1:MyISAM的索引结构是怎样的? MyISAM的索引与行记录是分开存储的,叫做非聚集索引(UnClustered Index)。 其中主键索引和普通索引没有什么区别: 1,有连续聚集的区域单独
阅读全文
摘要:1,并发控制,锁,MVCC 第一:并发控制 为啥要进行并发控制? 并发的任务对于同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control) 技术上,通常如何进行并发控制? 通过并发控制保证数据一致性的常见手段有 ·1,锁 ·2,数据多版本 第
阅读全文
摘要:布隆过滤器一般用来判断一个数据是否在一个很大的数据集合里面。当然可以用数组,集合,树等数据结构和各种查找法都可以做同样的事情,但是布隆过滤器有更好的时间效率和空间效率。比特币实现SPV节点时使用了布隆过滤器来查询交易。布隆过滤器可以判断一个数在不在集合里,但存在一定的误判率。 布隆过滤器的核心是一个
阅读全文
摘要:1,文件上传 github.com/julienschmidt/httprouter 2,高效读取配置信息 gopkg.in/ini.v1 3,实时读取文件内容 github.com/hpcloud/tail 4,加密 1,哈希算法 golang.org/x/crypto/bcrypt 2,md5
阅读全文
摘要:1,在MAC ,Linux,Windows 下go交叉编译 Go语言支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,记录一下 Mac 下编译 Linux 和 Windows 64位可执行程序 CGO_ENABLED=0 GOOS=linux GOARCH=amd64
阅读全文
摘要:链表的算法分为几种类型 1,删除链表的倒数第N个节点 2,合并两个有序链表 3,判断链表是否是环形链表 4,两个链表的位数相加 package main import "fmt" type ListNode struct { data int next *ListNode } //删除链表倒数第N个
阅读全文
摘要:最近在学习算法,因为大学的时候,没有学好,现在就恶补一下。 下面代码是用golang实现的一部门的,之后会慢慢的在进行添加。package main import ( "fmt" "regexp" "strings" ) //翻转数组 func reverseArr(arr []int) []int
阅读全文

浙公网安备 33010602011771号