Caches - Awesome Go
Data stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.
- 2q - 2Q in-memory cache implementation.
- bcache - Eventually consistent distributed in-memory cache Go library.
- BigCache - Efficient key/value cache for gigabytes of data.
- cache - In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage.
- cache2go - In-memory key:value cache which supports automatic invalidation based on timeouts.
- cachego - Golang Cache component for multiple drivers.
- clusteredBigCache - BigCache with clustering support and individual item expiration.
- coherence-go-client - Full implementation of Oracle Coherence cache API for Go applications using gRPC as network transport.
- couchcache - RESTful caching micro-service backed by Couchbase server.
- EchoVault - Embeddable Distributed in-memory data store compatible with Redis clients.
- fastcache - fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.
- GCache - Cache library with support for expirable Cache, LFU, LRU and ARC.
- gdcache - A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache.
- go-cache - A flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern.
- go-freelru A GC-less, fast and generic LRU hashmap library with optional locking, sharding, eviction and expiration.
- go-mcache - Fast in-memory key:value store/cache library. Pointer caches.
- gocache - A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more.
- gocache - A data race free Go ache library with high performance and auto pruge functionality
- groupcache - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
- icache - A High Performance, Generic, thread-safe, zero-dependency cache package.
- imcache - A generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding.
- nscache - A Go caching framework that supports multiple data source drivers.
- otter - A high performance lockless cache for Go. Many times faster than Ristretto and friends.
- pocache - Pocache is a minimal cache package which focuses on a preemptive optimistic caching strategy.
- sturdyc - A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant.
- theine - High performance, near optimal in-memory cache with proactive TTL expiration and generics.
- timedmap - Map with expiring key-value pairs.
- ttlcache - An in-memory cache with item expiration and generics.
- ttlcache - In-memory key value storage with TTL for each record.
- badger - Fast key-value store in Go.
- bbolt - An embedded key/value database for Go.
- Bitcask - Bitcask is an embeddable, persistent and fast key-value (KV) database written in pure Go with predictable read/write performance, low latency and high throughput thanks to the bitcask on-disk layout (LSM+WAL).
- buntdb - Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.
- clover - A lightweight document-oriented NoSQL database written in pure Golang.
- cockroach - Scalable, Geo-Replicated, Transactional Datastore.
- Coffer - Simple ACID key-value database that supports transactions.
- column - High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions.
- CovenantSQL - CovenantSQL is a SQL database on blockchain.
- Databunker - Personally identifiable information (PII) storage service built to comply with GDPR and CCPA.
- dgraph - Scalable, Distributed, Low Latency, High Throughput Graph Database.
- diskv - Home-grown disk-backed key-value store.
- dolt - Dolt – It's Git for Data.
- dtf - A distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages.
- eliasdb - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.
- godis - A Golang implemented high-performance Redis server and cluster.
- goleveldb - Implementation of the LevelDB key/value database in Go.
- hare - A simple database management system that stores each table as a text file of line-delimited JSON.
- immudb - immudb is a lightweight, high-speed immutable database for systems and applications written in Go.
- influxdb - Scalable datastore for metrics, events, and real-time analytics.
- ledisdb - Ledisdb is a high performance NoSQL like Redis based on LevelDB.
- levigo - Levigo is a Go wrapper for LevelDB.
- libradb - LibraDB is a simple database with less than 1000 lines of code for learning.
- LinDB - LinDB is a scalable, high performance, high availability distributed time series database.
- lotusdb - Fast k/v database compatible with lsm and b+tree.
- Milvus - Milvus is a vector database for embedding management, analytics and search.
- moss - Moss is a simple LSM key-value storage engine written in 100% Go.
- nutsdb - Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.
- objectbox-go - High-performance embedded Object Database (NoSQL) with Go API.
- pebble - RocksDB/LevelDB inspired key-value database in Go.
- piladb - Lightweight RESTful database engine based on stack data structures.
- pogreb - Embedded key-value store for read-heavy workloads.
- prometheus - Monitoring system and time series database.
- pudge - Fast and simple key/value store written using Go's standard library.
- redka - Redis re-implemented with SQLite.
- rosedb - An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset.
- rotom - A tiny Redis server built with Golang, compatible with RESP protocols.
- rqlite - The lightweight, distributed, relational database built on SQLite.
- tempdb - Key-value store for temporary items.
- tidb - TiDB is a distributed SQL database. Inspired by the design of Google F1.
- tiedot - Your NoSQL database powered by Golang.
- unitdb - Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application.
- Vasto - A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption.
- VictoriaMetrics - fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL.
- atlas - A Database Toolkit. A CLI designed to help companies better work with their data.
- avro - Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes.
- bytebase - Safe database schema change and version control for DevOps teams.
- darwin - Database schema evolution library for Go.
- dbmate - A lightweight, framework-agnostic database migration tool.
- go-fixtures - Django style fixtures for Golang's excellent built-in database/sql library.
- go-pg-migrate - CLI-friendly package for go-pg migrations management.
- go-pg-migrations - A Go package to help write migrations with go-pg/pg.
- goavro - A Go package that encodes and decodes Avro data.
- godfish - Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3.
- goose - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
- gorm-seeder - Simple database seeder for Gorm ORM.
- gormigrate - Database schema migration helper for Gorm ORM.
- libschema - Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL.
- migrate - Database migrations. CLI and Golang library.
- migrator - Dead simple Go database migration library.
- migrator - MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code.
- schema - Library to embed schema migrations for database/sql-compatible databases inside your Go binaries.
- skeema - Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools.
- soda - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
- sql-migrate - Database migration tool. Allows embedding migrations into the application using go-bindata.
- sqlize - Database migration generator. Allows generate sql migration from model and existing sql by differ them.
- chproxy - HTTP proxy for ClickHouse database.
- clickhouse-bulk - Collects small inserts and sends big requests to ClickHouse servers.
- dbbench - Database benchmarking tool with support for several databases and scripts.
- dg - A fast data generator that produces CSV files from generated relational data.
- dynago - Simplify working with AWS DynamoDB.
- gatewayd - Cloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases.
- go-mysql - Go toolset to handle MySQL protocol and replication.
- gorm-multitenancy - Multi-tenancy support for GORM managed databases.
- hasql - Library for accessing multi-host SQL database installations.
- octillery - Go package for sharding databases ( Supports every ORM or raw SQL ).
- onedump - Database backup from different drivers to different destinations with one command and configuration.
- pg_timetable - Advanced scheduling for PostgreSQL.
- pgweb - Web-based PostgreSQL database browser.
- prep - Use prepared SQL statements without changing your code.
- pREST - Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new.
- rdb - Redis RDB file parser for secondary development and memory analysis.
- rwdb - rwdb provides read replica capability for multiple database servers setup.
- vitess - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.
- wescale - WeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications.
- bqb - Lightweight and easy to learn query builder.
- buildsqlx - Go database query builder library for PostgreSQL.
- builq - Easily build SQL queries in Go.
- dbq - Zero boilerplate database operations for Go.
- Dotsql - Go library that helps you keep sql files in one place and use them with ease.
- gendry - Non-invasive SQL builder and powerful data binder.
- godbal - Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily.
- goqu - Idiomatic SQL builder and query library.
- gosql - SQL Query builder with better null values support.
- Hotcoal - Secure your handcrafted SQL against injection.
- igor - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.
- jet - Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure.
- ormlite - Lightweight package containing some ORM-like features and helpers for sqlite databases.
- ozzo-dbx - Powerful data retrieval methods as well as DB-agnostic query building capabilities.
- qry - Tool that generates constants from files with raw SQL queries.
- sg - A SQL Gen for generating standard SQLs(supports: CRUD) written in Go.
- sq - Type-safe SQL builder and struct mapper for Go.
- sqlc - Generate type-safe code from SQL.
- sqlf - Fast SQL query builder.
- sqlingo - A lightweight DSL to build SQL in Go.
- sqrl - SQL query builder, fork of Squirrel with improved performance.
- Squalus - Thin layer over the Go SQL package that makes it easier to perform queries.
- Squirrel - Go library that helps you build SQL queries.
- xo - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.