Protocache
Protocache is a lightweight in-memory cache server with gRPC support.
π Getting Started
1. Install Dependencies
Go (1.24+)
protoc (3.19+)
GNU Make (4.0+)
Docker (28.0+)
2. Build the binaries
make build-all
3. Run the Server
make run
π₯οΈ Using protocachecli
protocachecli is a command-line client for interacting with the cache server.
β
Commands
protocachecli -host localhost -port 50051 set foo bar
protocachecli -host localhost -port 50051 get foo
protocachecli -host localhost -port 50051 del foo
protocachecli -host localhost -port 50051 clear
If the value contains binary or non-UTF-8 data, it will be shown in base64 format.
βΉοΈ Help
protocachecli --help
π Using grpcurl
π List Services
grpcurl -plaintext localhost:50051 list
π List Methods
grpcurl -plaintext localhost:50051 list cache.CacheService
π§ͺ Testing
β
Unit and E2E Tests
make test # Run all tests
make test-e2e # Run E2E tests
make bench # Run benchmarks
π³ Using Docker
You can build and run Protocache via Docker.
π§ Build the Docker Image
make docker-build
This uses the image name: patrostkowski/protocache
π Run the Server in a Container
make docker-run
This runs the server and exposes port 50051 on your local machine.
License
Protocache is licensed under the Apache License 2.0.