summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/lunny/nodb/doc.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/lunny/nodb/doc.go')
-rw-r--r--vendor/github.com/lunny/nodb/doc.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/vendor/github.com/lunny/nodb/doc.go b/vendor/github.com/lunny/nodb/doc.go
new file mode 100644
index 0000000000..2f7df33ffd
--- /dev/null
+++ b/vendor/github.com/lunny/nodb/doc.go
@@ -0,0 +1,61 @@
+// package nodb is a high performance embedded NoSQL.
+//
+// nodb supports various data structure like kv, list, hash and zset like redis.
+//
+// Other features include binlog replication, data with a limited time-to-live.
+//
+// Usage
+//
+// First create a nodb instance before use:
+//
+// l := nodb.Open(cfg)
+//
+// cfg is a Config instance which contains configuration for nodb use,
+// like DataDir (root directory for nodb working to store data).
+//
+// After you create a nodb instance, you can select a DB to store you data:
+//
+// db, _ := l.Select(0)
+//
+// DB must be selected by a index, nodb supports only 16 databases, so the index range is [0-15].
+//
+// KV
+//
+// KV is the most basic nodb type like any other key-value database.
+//
+// err := db.Set(key, value)
+// value, err := db.Get(key)
+//
+// List
+//
+// List is simply lists of values, sorted by insertion order.
+// You can push or pop value on the list head (left) or tail (right).
+//
+// err := db.LPush(key, value1)
+// err := db.RPush(key, value2)
+// value1, err := db.LPop(key)
+// value2, err := db.RPop(key)
+//
+// Hash
+//
+// Hash is a map between fields and values.
+//
+// n, err := db.HSet(key, field1, value1)
+// n, err := db.HSet(key, field2, value2)
+// value1, err := db.HGet(key, field1)
+// value2, err := db.HGet(key, field2)
+//
+// ZSet
+//
+// ZSet is a sorted collections of values.
+// Every member of zset is associated with score, a int64 value which used to sort, from smallest to greatest score.
+// Members are unique, but score may be same.
+//
+// n, err := db.ZAdd(key, ScorePair{score1, member1}, ScorePair{score2, member2})
+// ay, err := db.ZRangeByScore(key, minScore, maxScore, 0, -1)
+//
+// Binlog
+//
+// nodb supports binlog, so you can sync binlog to another server for replication. If you want to open binlog support, set UseBinLog to true in config.
+//
+package nodb