编辑
2023-12-06
数据库理论基础
00

bolt是个简单的kv嵌入式数据库,同sqlite是一样的定位,boltdb开启一个数据库的时候,一样也是新建一个.db文件,文件里的数据按page来组织,一个数据库又分为bucket来组织数据(类似于表)。

编辑
2023-12-06
mysql
00

redo log和binlog是MySQL中两种不同的日志,它们分别用于不同的目的,因此需要分开提交。

  1. redo log的作用
    • redo log是InnoDB存储引擎的事务日志,用于确保数据的持久性和一致性。
    • 当事务提交时,redo log会先将修改的数据记录到日志文件中,然后再将数据写入磁盘数据文件。
    • 如果系统崩溃或断电,通过redo log可以将未写入磁盘的数据恢复回来,确保数据的完整性。
编辑
2023-12-06
linux
00

MESI协议是一种常用的缓存一致性协议,用于解决多核CPU中高速缓存的同步问题。它通过一系列的机制来保证多个CPU核心之间的缓存数据的一致性。

  1. MESI协议概述:
    • MESI是Modified、Exclusive、Shared、Invalid的缩写,分别代表了缓存行的四种状态。
    • 每个缓存行都有一个状态位,用于表示当前缓存行的状态。
    • MESI协议通过状态位的变化来实现缓存一致性。
编辑
2023-12-06
数据库理论基础
00

BoltDB是一个纯Go语言实现的持久化解决方案,用于存储键值对数据。它提供了简单、快速和可靠的数据库功能,适用于不需要完整数据库服务器(如Postgres或MySQL)的项目。

  1. 安装BoltDB库:使用以下命令安装BoltDB库:
$ go get github.com/boltdb/bolt
编辑
2023-12-06
后端
00

Pauseless GC(无停顿垃圾回收)是一种垃圾回收器的概念,旨在减少或消除垃圾回收过程中的停顿时间。C4垃圾回收器是一种实现了Pauseless GC的具体垃圾回收器。

Pauseless GC(无停顿垃圾回收)

Pauseless GC是一种垃圾回收器的概念,它旨在解决传统垃圾回收器在执行垃圾回收时可能导致的应用程序停顿问题。传统的垃圾回收器在执行垃圾回收时,需要暂停应用程序的执行,以便进行垃圾对象的标记和清理。这种停顿时间可能会对应用程序的性能和响应时间产生负面影响。