awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
HDT3213 avatar

HDT3213/godis

0
View on GitHub↗
3,836 stars·602 forks·Go·GPL-3.0·22 viewswww.cnblogs.com/Finley/category/1598973.html↗

Godis

Godis is a Redis-compatible in-memory database and distributed key-value store. It functions as a replicated data store and distributed message broker, implementing the Redis protocol to manage complex data structures in memory.

The system provides a geospatial indexing engine for proximity-based queries and distance calculations. It ensures high availability and data durability through master-slave replication and write-ahead logging.

The project covers a wide range of capabilities including the management of strings, hash maps, lists, and sorted sets. It supports distributed data clustering for scaling throughput, real-time publish-subscribe messaging, and atomic transactions for data consistency. Persistence is handled via snapshot-based recovery and append-only files.

Features

  • Key-Value Stores - Functions as a high-performance Redis-compatible key-value store for managing application state in memory.
  • Redis Compatible Stores - Implements the Redis protocol to provide a high-performance, compatible in-memory key-value store.
  • Distributed Key-Value Stores - Functions as a consistent and replicated distributed key-value store for high-throughput data management.
  • Data Replication - Implements data replication mechanisms to synchronize data across nodes, ensuring high availability and durability.
  • Disk Persistence - Persists in-memory data to non-volatile disk storage using append-only files and snapshots.
  • Distributed Database Clusters - Uses a distributed database architecture to organize nodes into coordinated groups for horizontal scaling.
  • Distributed Key-Value Sharding - Spreads key-value pairs across a cluster of nodes to enable distributed scaling and availability.
  • Complex Data Structure Stores - Provides a high-performance in-memory store for complex types including hashes, sets, and lists.
  • In-Memory State Management - Manages complex data structures and atomic transactions in volatile memory for low-latency state tracking.
  • Primary-Replica Replication - Uses a primary-replica replication architecture to ensure high availability and read scalability across nodes.
  • Write-Ahead Logging - Ensures data durability and crash recovery by recording every state change to a write-ahead log.
  • Publish-Subscribe Messaging - Provides low-latency communication between distributed services through a publish-subscribe messaging model.
  • Message Brokers - Acts as a message broker facilitating asynchronous communication and decoupling between distributed clients.
  • Pub-Sub Messaging - Implements a real-time pub-sub message broker to decouple producers from consumers via channels.
  • Data Sharding - Distributes data across multiple nodes using partitioning to scale throughput and capacity.
  • Atomic Transactions - Allows grouping multiple commands into atomic transactions that either complete entirely or revert on failure.
  • Point-in-Time Database Snapshots - Provides point-in-time recovery by periodically saving the entire in-memory dataset to binary snapshots.
  • Key Expiration Management - Manages key expiration using time-to-live values to automatically purge expired data from memory.
  • Atomic Transactions - Implements atomic transactions to ensure multiple operations execute as a single indivisible unit for data consistency.
  • Geospatial Indexes - Provides geospatial indexing for efficient proximity-based queries and radius searches.
  • Hash Map Storage - Stores hash maps that associate keys with field-value pairs for structured record representation.
  • Ordered List Management - Implements ordered list management supporting push, pop, and trim operations at both ends.
  • Geospatial Search - Enables search capabilities based on geographical coordinates and distance parameters.
  • Sorted Sets - Supports sorted sets that store unique elements ordered by score for ranking and range retrieval.
  • String Data Structures - Provides optimized storage and atomic operations for string and binary data.
  • Unordered Unique Collection Management - Manages unordered collections of unique elements with support for set intersections, unions, and differences.
  • Distributed Database Deployment - Provides automated provisioning of high-availability clusters consisting of coordinator and worker nodes.
  • Caching Libraries - Redis-compatible server implementation.
  • Database Engines - High-performance Redis-compatible server and cluster.
  • Database Systems - Listed in the “Database Systems” section of the Awesome Go awesome list.
  • Databases - High-performance Redis-compatible server and cluster.

Star history

Star history chart for hdt3213/godisStar history chart for hdt3213/godis

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Godis

These projects share indexed features with Godis. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • apache/incubator-kvrocksapache avatar

    apache/incubator-kvrocks

    4,339View on GitHub↗

    Kvrocks is a disk-based NoSQL database and distributed key-value store that leverages the RocksDB storage engine to persist large datasets to physical disk. It is designed to be a Redis-compatible database, utilizing the standard Redis communication protocol to ensure interoperability with existing client libraries and tools. The project distinguishes itself by combining a disk-persistent storage model with advanced retrieval capabilities, including vector search for k-nearest neighbor queries, full-text search indexing, and geospatial query execution. It supports distributed clustering with

    C++
    View on GitHub↗4,339
  • tporadowski/redistporadowski avatar

    tporadowski/redis

    9,987View on GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    View on GitHub↗9,987
  • apache/kvrocksapache avatar

    apache/kvrocks

    4,338View on GitHub↗

    Kvrocks is a distributed key-value store and Redis-compatible NoSQL database. It utilizes a RocksDB storage engine to provide disk-based persistence, allowing for high-capacity data storage with reduced memory costs compared to in-memory systems. The system functions as a vector database and full-text search engine, supporting nearest-neighbor searches on vector embeddings and complex document queries via text matching. It employs a proxyless cluster architecture with slot-based routing to distribute data and scale capacity across multiple nodes. The platform covers a wide range of data mana

    C++databasedistributedkv
    View on GitHub↗4,338
  • redis/go-redisredis avatar

    redis/go-redis

    22,159View on GitHub↗

    This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive interface for managing remote data stores, enabling developers to execute standard database commands, handle complex data structures, and perform asynchronous operations within Go applications. The library distinguishes itself through its support for advanced Redis capabilities, including connection pooling, pipelining, and transactional integrity. It provides specialized primitives for managing distributed clusters, including automated topology updates and request routing to sha

    Gogogolangredis
    View on GitHub↗22,159
Compare all 30 related projects→

Frequently asked questions

What does hdt3213/godis do?

Godis is a Redis-compatible in-memory database and distributed key-value store. It functions as a replicated data store and distributed message broker, implementing the Redis protocol to manage complex data structures in memory.

What are the main features of hdt3213/godis?

The main features of hdt3213/godis are: Key-Value Stores, Redis Compatible Stores, Distributed Key-Value Stores, Data Replication, Disk Persistence, Distributed Database Clusters, Distributed Key-Value Sharding, Complex Data Structure Stores.

Which projects share features with hdt3213/godis?

Projects with overlapping indexed features include: apache/incubator-kvrocks — Kvrocks is a disk-based NoSQL database and distributed key-value store that leverages the RocksDB storage engine to… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… apache/kvrocks — Kvrocks is a distributed key-value store and Redis-compatible NoSQL database. It utilizes a RocksDB storage engine to… redis/go-redis — This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive… microsoft/garnet — Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to…