Skip to content

Garenbbbb/GoGoCache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoGoCache

Overview

GoGoCache is a distributed caching system implemented in Go, inspired by the design principles of groupcache, a Go version of memcached. The project covers various aspects of caching, including resource control, eviction policies, concurrency, and communication among distributed nodes.

Alt Text

Features

Single-node Cache: GeeCache supports a standalone, in-memory cache.

HTTP-based Distributed Cache: The project extends to include a distributed cache accessible over HTTP.

LRU Eviction Strategy: Implements the Least Recently Used (LRU) cache eviction policy.

Concurrency Control: Utilizes Go's locking mechanisms to prevent cache stampedes.

Consistent Hashing: Employs consistent hashing for node selection to achieve load balancing.

Protobuf Communication: Optimizes binary communication between nodes using Protocol Buffers.

Data Retrieval: Retrieve data from MySQL in the event of a cache miss.

Test

I created a simple test bash script to test cache system

$ ./test.sh

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published