https://github.com/quangtung97/memproxy
Library for Memcached Lease, Thundering Herd Protection, Fail-over and Memcached Proxy
https://github.com/quangtung97/memproxy
lease memcached proxy replication
Last synced: about 1 month ago
JSON representation
Library for Memcached Lease, Thundering Herd Protection, Fail-over and Memcached Proxy
- Host: GitHub
- URL: https://github.com/quangtung97/memproxy
- Owner: QuangTung97
- License: mit
- Created: 2022-12-09T03:38:35.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-18T03:55:57.000Z (2 months ago)
- Last Synced: 2025-03-18T04:33:38.668Z (2 months ago)
- Topics: lease, memcached, proxy, replication
- Language: Go
- Homepage:
- Size: 447 KB
- Stars: 15
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/QuangTung97/memproxy/actions/workflows/go.yml)
[](https://coveralls.io/github/QuangTung97/memproxy?branch=master)# Golang Memcache Proxy Library
## Why this library?
This library helps to utilize memcached in a consistent and efficient way.
**Supporting features**:
* Deal with Consistency between Memcached and Database using the Lease Mechanism.
* Prevent thundering herd (a.k.a Cache Stampede).
* Efficient batching get to the underlining database, batching between lease gets
and between retries for preventing thundering-herd.
* Memcached replication similar to MCRouter, without the need for an external proxy.
* Memory-weighted load-balancing for replication.## Table of Contents
1. [Usage](#usage)
2. [Consistency between Memcached and Database](docs/consistency.md)
3. [Preventing Thundering Herd](docs/thundering-herd.md)
4. [Efficient Batching](docs/efficient-batching.md)
5. [Memcache Replication & Memory-Weighted Load Balancing](docs/replication.md)## Usage
* [Using a single memcached server and source from the database](examples/simple/main.go)
* [Using multiple memcached servers](examples/failover/main.go)