{"repo":"tidwall/buntdb","free":true,"listed":false,"github":"https://github.com/tidwall/buntdb","clone":"git clone https://github.com/tidwall/buntdb.git","description":"BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support","language":"Go","stars":4862,"topics":["database","in-memory","key-value","golang","geospatial"],"license":"MIT","category":"databases-storage","readme_excerpt":"BuntDB is a low-level, in-memory, key/value store in pure Go. It persists to disk, is ACID compliant, and uses locking for multiple readers and a single writer. It supports custom indexes and geospatial data. It's ideal for projects that need a dependable database and favor speed over data size. Features ======== - In-memory database for fast reads and writes - Embeddable with a simple API - Spatial indexing for up to 20 dimensions; Useful for Geospatial data - Index fields inside JSON documents - Collate i18n Indexes using the optional collate package - Create custom indexes for any data type - Support for multi value indexes; Similar to a SQL multi column index - Built-in types that are easy to get up & running; String, Uint, Int, Float - Flexible iteration of data; ascending, descending, and ranges - Durable append-only file format for persistence - Option to evict old items with an expiration TTL - ACID semantics with locking transactions that support rollbacks Getting Started =============== Installing To start using BuntDB, install Go and run go get : This will retrieve the library. Opening a database The primary object in BuntDB is a DB . To open or create your database, use the buntdb.Open() function: It's also possible to open a database that does not persist to disk by using :memory: as the path of the file. Transactions All reads and writes must be performed from inside a transaction. BuntDB can have one write transaction opened at a time, but can have many concurr","default_branch":null,"files":null,"tree":[],"storefront":"/r/tidwall","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/tidwall/buntdb/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}