当前位置:网站首页>golang写的存储引擎,基于b+树,mmap
golang写的存储引擎,基于b+树,mmap
2022-08-03 22:16:00 【InfoQ】
mydb
package main
import (
"fmt"
"github.com/alberliu/mydb"
"strconv"
)
func toBytes(i int) []byte {
return []byte(strconv.Itoa(i))
}
func main() {
db, err := mydb.Open("data")
if err != nil {
panic(err)
}
fmt.Println("init: ", db.Range(mydb.Infinity, mydb.Infinity))
for i := 1; i <= 5; i++ {
db.Add(toBytes(i), toBytes(i))
}
fmt.Println("add: ", db.Range(mydb.Infinity, mydb.Infinity))
db.Update(toBytes(1), toBytes(4))
fmt.Println("update", db.Range(mydb.Infinity, mydb.Infinity))
db.Delete(toBytes(1))
fmt.Println("delete", db.Range(mydb.Infinity, mydb.Infinity))
fmt.Println("range ", db.Range(toBytes(3), toBytes(4)))
}
边栏推荐
- Golang第二章:程序结构
- 384. Shuffle an Array
- start with connect by implements recursive query
- CAS:908007-17-0_Biotin-azide_Biotin azide
- 113. 授人以渔 - 如何自行查询任意 SAP UI5 控件属性的文档和技术实现细节
- for循环练习题
- [MySQL Advanced] Creation and Management of Databases and Tables
- DO280管理和监控OpenShift平台--资源限制
- 483. Smallest Good Base
- 封装、包、访问权限修饰符、static变量
猜你喜欢
随机推荐
DO280管理和监控OpenShift平台--资源限制
数据一致性:双删为什么要延时?
2019年10月SQL注入的两倍
21天打卡挑战学习MySQL——《MySQL工具的使用》第一周 第二篇
mysql如何将表结构导出到excel
Flink--Join以及Flink函数
IO thread process -> thread synchronization mutual exclusion mechanism -> day6
电商秒杀系统
start with connect by 实现递归查询
PowerMockup 4.3.4::::Crack
How to write a database document management tool based on WPF (2)
CAS:122567-66-2_DSPE-生物素_DSPE-Biotin
Internet user account information management regulations come into effect today: must crack down on account trading and gray products
如何基于WPF写一款数据库文档管理工具(二)
node连接mysql数据库报错:Client does not support authentication protocol requested by server
UVa 437 - The Tower of Babylon(白书)
软件测试人员必备的60个测试工具清单,建议收藏一波~
382. Linked List Random Node
老板:公司系统太多,能不能实现账号互通?
376. Wiggle Subsequence







