Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
W

wal

> 编程语言
Open source

Write ahead log for Go.

732 stars0 likes1 views
WebsiteGitHub

About

Write ahead log for Go.

wal

A simple and fast write ahead log for Go.

Features

  • High durability
  • Fast operations
  • Monotonic indexes
  • Batch writes
  • Log truncation from front or back.

Getting Started

Installing

To start using wal, install Go and run go get:

bash
$ go get -u github.com/tidwall/wal

This will retrieve the library.

Example

go
// open a new log file
log, err := wal.Open("mylog", nil)

// write some entries
err = log.Write(1, []byte("first entry"))
err = log.Write(2, []byte("second entry"))
err = log.Write(3, []byte("third entry"))

// read an entry
data, err := log.Read(1)
println(string(data))  // output: first entry

// close the log
err = log.Close()

Batch writes:

go

// write three entries as a batch
batch := new(wal.Batch)
batch.Write(1, []byte("first entry"))
batch.Write(2, []byte("second entry"))
batch.Write(3, []byte("third entry"))

err = log.WriteBatch(batch)

Truncating:

go
// write some entries
err = log.Write(1, []byte("first entry"))
...
err = log.Write(1000, []byte("thousandth entry"))

// truncate the log from index starting 350 and ending with 950.
err = log.TruncateFront(350)
err = log.TruncateBack(950)

Contact

Josh Baker @tidwall

License

wal source code is available under the MIT License.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Go

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言