Skip to content

A high-performance probabilistic cache implementation in Go with ghost cache support for intelligent eviction policies. Features include thread-safe operations, TTL support, memory-aware eviction, and automatic cleanup of expired entries.

Notifications You must be signed in to change notification settings

abubakardev0/sieve-cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sieve Cache

A high-performance probabilistic cache implementation in Go with ghost cache support for intelligent eviction policies.

Features

  • Probabilistic admission control
  • Ghost cache for optimized re-admission
  • Configurable TTL support
  • Thread-safe operations
  • Memory-aware eviction
  • Automatic cleanup of expired entries
  • Performance metrics and statistics

Installation

git clone https://github.com/abubakardev0/sieve-cache.git
cd sieve-cache
go mod tidy

Documentation

To verify documentation:

go doc -all sieve

Running Tests

Run the tests to verify functionality:

go test -v ./sieve

Running with Docker

Prerequisites

Build and Run

  1. Build the Docker image:

    docker build -t sieve-cache .
  2. Run the Docker container:

    docker run -p 8080:8080 sieve-cache

Running Without Docker

  1. Install dependencies:

    go mod tidy
  2. Build the application:

    go build -o sieve-cache main.go
  3. Run the application:

    ./sieve-cache

About

A high-performance probabilistic cache implementation in Go with ghost cache support for intelligent eviction policies. Features include thread-safe operations, TTL support, memory-aware eviction, and automatic cleanup of expired entries.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published