A simple in memory cache written using go
A simple and a flexible in memory cache
kache aims to develop a redis compatible in memory db with golang. Currently kache is powered up with RESP Protocol. kache also supports simple text protocol so you can issue commands to kache using netcat or telnet as you please. kache has powered with many features managing a simple codebase with golang.
kache is a compiled program, download the one for your platform and extract the package to a directory you wish.
Go to that directory, open a command prompt and run the kache executable like
./kacheif you are on linux or mac
.\kacheif you are on windows
This will start the application and port 7088 will be open by default.
Try to open telnet or netcat then
$: nc localhost 7088 ping
If you get the
+PONGkache is working as expected.
Default configuration file can be found in
kache can produce logs as you wish, in addition to default format it supports - json - logfmt
To run with a custom config file do
A fast and a flexible in memory database built with go
--config string configuration file -d, --debug output debug information -h, --help help for kache --host string host for running application (default "127.0.0.1") --logfile string application log file --logging set application logs (default true) --logtype string kache can output logs in different formats like json or logfmt. The default one is custom to kache. (default "default") --maxClients int max connections can be handled (default 10000) --maxTimeout int max timeout for clients(in seconds) (default 120) -p, --port int port for running application (default 7088) -v, --verbose verbose output
mageis the build tool we use for build kache. To install
go get -u github.com/magefile/mage- For a proper installation refer official documentation
Make sure you have an active internet connection as for the first time it will download some depedencies.
mage vendorwill install all the dependencies of the project(will take some time)
mage kachewill produce the binary of the kache in
mage kachecliwill produce the binary of the kache-cli in
mage checkwill run
go vetand all tests with 32 bit platform including
mage fmtwill run only
gofmton the code, will warn you when code has format errors
mage vetwill reports suspicious constructs
mage importswill check import errors
mage testwill run a unit test with defaults
mage test386will run a test in 32-bit mode
mage testracewill run a test with
mage -lfor list all commands
Special note : According to your environment executable will be built, for windows users it will need to add
.exeto the end of
go build -o bin/kache.exe ./cmd/kache
kache is an opensource project. Contributions are welcome