unicod3 / miniredis

Experimental key-value persistent DB with TCP.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

miniredis

Experimental key-value persistent DB with TCP.

Travis Go Report Card GoDoc codecov GitHub version

Miniredis is project a mini project written for for GDG Istanbul Golang Workshop.

Installation

OS X & Linux:

$ go get github.com/IzmirGophers/miniredis
$ cd $GOPATH/src/github.com/IzmirGophers/miniredis
$ go install

Usage example

Miniredis is running on tcp, you can send commands through any client you can establish TCP connection.

Commands

Command Params Example
SET key val SET foo bar
GET key GET foo
MSET key val key val key val MSET foo bar foo1 bar1 foo2 bar2
MGET key, key, key ++ MGET foo foo1 foo2
DEL key DEL foo
DBSIZE DBSIZE
KEYS KEYS

Benchmark

goos: linux
goarch: amd64
pkg: github.com/IzmirGophers/miniredis
BenchmarkGet    	 5000000	       249 ns/op
BenchmarkSet    	 3000000	       518 ns/op
BenchmarkMGet   	 3000000	       577 ns/op
BenchmarkMset   	 2000000	       966 ns/op
BenchmarkKeys   	  500000	      3639 ns/op
BenchmarkDBSize 	20000000	       105 ns/op
PASS
ok  	github.com/IzmirGophers/miniredis	12.898s

Scaleway - Intel(R) Atom(TM) CPU C3955 @ 2.10GHz - 1GB

Meta

Sinan Ülker
Rıza Sabuncu

Distributed under the GPL license. See LICENCE for more information.

Contributors

Sinan Ülker
Sinan Ülker
Oğuzhan Yılmaz
Oğuzhan Yılmaz
Halil Tuğcan Özaktaş
Halil Tuğcan Özaktaş
Halil Tuğcan Özaktaş
Fatih Kahveci

Contributing

  1. Fork it (https://github.com/IzmirGophers/miniredis/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

About

Experimental key-value persistent DB with TCP.

License:GNU General Public License v3.0


Languages

Language:Go 96.2%Language:Shell 3.8%