A simple immutable append only log in Go. aol is a rewrite of wal to allow only appends to a log.
- High durability
- Fast operations
- Batch writes
To start using aol
, install Go and run go get
:
$ go get -u github.com/arriqaaq/aol
This will retrieve the library.
// open a new log file
log, err := Open("mylog", nil)
// write some entries
err = log.Write([]byte("first entry"))
err = log.Write([]byte("second entry"))
err = log.Write([]byte("third entry"))
// read an entry
data, err := log.Read(1,0)
println(string(data)) // output: first entry
// close the log
err = log.Close()
Batch writes:
// write three entries as a batch
batch := new(Batch)
batch.Write(1, []byte("first entry"))
batch.Write(2, []byte("second entry"))
batch.Write(3, []byte("third entry"))
err = log.WriteBatch(batch)