Original post

goukv is an abstraction layer for golang based key-value stores, it is easy to add any backend provider.

I just built this to be used in my side projects, but you can use it with no worries, it is production ready, and I’m open for any idea & contribution.

just keep it simple stupid!

  • Use the map[string]interface{} as your options.
  • Nil value means DELETE.
  • Respect the Entry struct.
  • Respect the ScanOpts struct.
package main

import (
    _ "github.com/alash3al/goukv/providers/goleveldb"

func main() {
    db, err := goukv.Open("goleveldb", map[string]interface{}{
        "path": "./db",

    if err != nil {

    defer db.Close()

        Key: []byte("k1"),
        Value: []byte("v1"),
        TTL: time.Second * 10,