Vertex

module
v0.0.0-...-3042244 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2025 License: MIT

README

Vertex

Vertex is a high-performance, in-memory key-value store, built in Go, inspired by Redis. Designed for speed and efficiency, Vertex can be used as a database, cache, or message broker.

Features

  • In-Memory Storage: Fast read and write operations with support for various data structures.
  • Persistence: Optional data persistence through snapshotting (RDB) and append-only logs (AOF).
  • Replication: Master-slave replication for high availability and load balancing.
  • Pub/Sub: Publish/subscribe messaging capabilities for real-time communication.
  • Eviction Policies: Flexible memory management with configurable eviction strategies.
  • Single-Threaded Performance: Optimized for high throughput with atomic operations.
  • Extensibility: Support for custom modules to extend functionality.

Getting Started

Prerequisites
  • Go 1.23 or later
  • Docker (optional, for containerization)
Installation
  1. Clone the repository:
git clone https://github.com/AbdessamadEnabih/Vertex.git
cd Vertex
  1. Build the project:
make build
  1. Run the server:
make run-server
  1. Run the CLI:
make run-cli
Running Tests

To run the tests, use the following command:

make test
Docker
  1. Build the Docker image:
make docker-build
  1. Run the Docker container:
make docker-run
Configuration

Configuration files are located in the config directory. You can set environment variables to override default configurations.

Directories

Path Synopsis
internal
cli
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳