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.
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.
- 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.
The system utilizes a sharded hash-map implementation to distribute the locking overhead, allowing for true parallel access during high-frequency read/write operations.
- Go 1.18 or higher
- Linux Environment (Optimized for Ubuntu/Debian)
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