Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 1.53 KB

README.md

File metadata and controls

60 lines (42 loc) · 1.53 KB

Data Store

A lightweight in-memory data store in Clojure.

Similar to Redis®* but fewer features.

Run server locally

  1. Install Leiningen if you haven't already
  2. Install the Redis CLI
  3. lein run
  4. Open another terminal tab
  5. redis-cli PING
  6. Expected: PONG
  7. Run any other Redis CLI command

Run unit tests

lein test

Package server for production

lein uberjar

Run server in production

java -jar target/uberjar/data-store-<version>-standalone.jar

Benchmark server

  1. Run server
  2. Open a new terminal tab
  3. redis-benchmark -t set,get, -n 1000000 -q
  4. Expected:
WARNING: Could not fetch server CONFIG
SET: 72270.00 requests per second, p50=0.343 msec
GET: 74833.49 requests per second, p50=0.351 msec
  1. Stop the server you ran in step 1 with Control-C.
  2. redis-server
  3. Repeat step 3
  4. Expected:
SET: 80729.80 requests per second, p50=0.303 msec
GET: 81512.88 requests per second, p50=0.319 msec
  1. That's how this server's performance compares to Redis®.

Bugs

Please open an issue on GitHub.

License

GPLv2 or later


* Redis is a registered trademark of Redis Ltd. Any rights therein are reserved to Redis Ltd. Any use by this repo is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and this repo.