Skip to content

DARSHANR007/Go-Cache_X

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-Cache_X

A high-performance, distributed in-memory caching system built in Go for Linux environments. This project focuses on low-latency data retrieval, concurrency safety, and optimized systems-level memory management.

Technical Overview

Go-Cache_X is designed to handle high-throughput workloads by separating the networking layer from the core storage engine. It provides a robust solution for reducing database load and accelerating application response times.

Core Features

  • High-Concurrency Engine: Utilizes Go’s goroutines and optimized mutex-based synchronization to manage 10,000+ parallel TCP connections.
  • Intelligent Eviction: Implements LRU (Least Recently Used) and LFU (Least Frequently Used) algorithms to maximize hit rates and manage memory limits.
  • Sub-ms Latency: Achieves sub-millisecond internal processing speed for HTTP/TCP requests by minimizing lock contention.
  • Data Integrity: Features TTL-based (Time-to-Live) expiration and atomic operations to ensure data consistency across concurrent requests.
  • Linux Native: Architected for systems programming and performance tuning on Linux-based environments.

Architecture

The system utilizes a sharded hash-map implementation to distribute the locking overhead, allowing for true parallel access during high-frequency read/write operations.

Getting Started

Prerequisites

  • Go 1.18 or higher
  • Linux Environment (Optimized for Ubuntu/Debian)

Installation

git clone [https://github.com/DARSHANR007/Go-Cache_X.git](https://github.com/DARSHANR007/Go-Cache_X.git)
cd Go-Cache_X
go build -o gocachex

About

⚡ A lightweight in-memory caching library written in Go. Supports TTL expiration, thread-safe access, and easy extensibility for future features like LRU and clustering.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages