Bashcached Save

memcached server built on bash + socat

Project README

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 <[email protected]>

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

MIT and :sushi: © TSUYUSATO "MakeNowJust" Kitsune <[email protected]> 2016-2018

Open Source Agenda is not affiliated with "Bashcached" Project. README Source: makenowjust/bashcached
Stars
272
Open Issues
0
Last Commit
4 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating