Giter VIP home page Giter VIP logo

barbdb's Introduction

BarbDB

Features

  • A solid key-value database engine in under 90 source lines of code.
  • Compatibility with strings including control characters.
  • A (for computers) easy to read file format.
  • Written in Golang, resulting in great performance.

Usage

First, install the library with this command:

go get github.com/sys-256/BarbDB

Then you can use BarbDB by simply importing it, for example:

package main

import (
	"fmt"

	"github.com/sys-256/BarbDB"
)

func main() {
	// Initialize the database
	db, openError := BarbDB.OpenDB("./main.barb")
	if openError != nil {
		fmt.Println(openError)
		return
	}

	// Set some values
	setError1 := db.Set("Foo", "This is BarbDB!")
	setError2 := db.Set("Bar", "Even \t, \n and \000 work!")
	if setError1 != nil || setError2 != nil {
		fmt.Println("Error setting values!\n", setError1, setError2)
	}

	// Try retrieving one of the set values
	result, getError := db.Get("Bar")
	if getError != nil {
		fmt.Println(getError)
	} else {
		fmt.Println(result)
	}

	// Delete a value
	deleteError := db.Delete("Foo")
	if deleteError != nil {
		fmt.Println(deleteError)
	}

	// Close the database
	closeError := db.Close()
	if closeError != nil {
		fmt.Println(closeError)
	}
}

Contribution

Everyone is free to contribute, whether that is a bug report, feature request or feature implementation! If you want to implement a big feature, or if you're going to implement breaking changes, please create an issue to ask for approval first.

License

See the LICENSE file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.