makenowjust / bashcached

memcached server built on bash + socat

Home Page:https://git.io/bashcached

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bashcached

memcached server built on bash + socat

CircleCI

Feature

It is one file script (small, (($(< bashcached wc -l) < 100))!), and it requires only:

  • bash
  • socat

So, you can use it as soon as you download it.

It supports multiple connections and implements almost all memcached commands:

  • set, add, replace, append and prepend
  • get, delete and touch
  • incr and decr
  • gets and cas
  • flush_all
  • version and quit

And, it supports to serve over tcp and unix domain socket.

Install

You could install base64, bash and socat via brew if you use macOS:

$ brew install base64 bash socat

(In fact, bash is installed in the default on macOS, however it is too old to run bashcached.)

Or, you could install socat via apt if you use Ubuntu:

$ sudo apt install socat

then, download and chmod.

$ curl -LO https://git.io/bashcached
$ chmod +x bashcached

Or, you could use bpkg instaed of downloading script:

$ bpkg install MakeNowJust/bashcached -g

Usage

$ ./bashcached --help
bashcached - memcached built on bash + socat
(C) TSUYUSATO "MakeNowJust" Kitsune 2016-2020 <make.just.on@gmail.com>

USAGE: bashcached [--help] [--version] [--license] [--protocol=tcp|unix] [--port=PORT] [--check=CHECK]

OPTIONS:
  --protocol=tcp|unix      protocol name to bind and listen (default: tcp)
  --port=PORT              port (or filename) to bind and listen (default: 25252)
  --check=CHECK            interval to check each cache's expire (default: 60)
  --help                   show this help
  --version                show bashcached's version
  --license                show bashcached's license
$ ./bashcached &
$ telnet localhost 25252
version
VERSION 5.2.0-bashcached
set hello 0 0 11
hello world
STORED
get hello
VALUE hello 0 11
hello world
END
quit

License and Copyright

MIT and 🍣 © TSUYUSATO "MakeNowJust" Kitsune <make.just.on@gmail.com> 2016-2018

About

memcached server built on bash + socat

https://git.io/bashcached

License:MIT License


Languages

Language:Ruby 80.3%Language:Shell 18.2%Language:Dockerfile 1.1%Language:Makefile 0.4%