BuntDB
Database for Go with custom indexing and geospatial support
BuntDB is an embeddable, in-memory key/value database written in Go, with optional persistence to disk. It is built for scenarios where you want a lightweight, fast store (reads and writes in memory) but also durability (via append-only file format) and transactional semantics (ACID with single-writer, multiple-reader locking). Among its distinguishing features are support for custom indexing (even within JSON values), spatial (geospatial) indexes with support up to 20 dimensions, flexible iteration over keys (ascending, descending, ranges), TTL/expiry eviction, and embeddability. ...