{"repo":"AlexJuca/fkvs","free":true,"listed":false,"github":"https://github.com/AlexJuca/fkvs","clone":"git clone https://github.com/AlexJuca/fkvs.git","description":"fkvs is a in-memory, NoSQL key-value data structure store and database written in C","language":"C","stars":43,"topics":["c","cprogramming","database","in-memory-database","nosql-database","redis"],"license":null,"category":"databases-storage","readme_excerpt":"⚡ FKVS (Fast Key Value Store) is a tiny, high‑performance key‑value store written in C with a single‑threaded, non‑blocking I/O multiplexed event loop. It is part of my experiment to understand what it takes to build a key value store similar to redis in C from first principles and to eventually get it into a production ready state. Running the fkvs server inside docker Build fkvs from source Build and run fkvs on Ubuntu 20+ Build and run fkvs on macOS 13 + Allocator (jemalloc) The server uses jemalloc by default on Linux when the library is installed, falling back to the system allocator otherwise. It benefits allocation-heavy workloads (many distinct keys / high write churn). On macOS (and other non-Linux platforms) jemalloc is opt-in. See the jemalloc Build Guide for verification, Docker, and when it is worth enabling. Running the client Running the client in non-interactive mode Supported commands Strings Command Usage Description --- --- --- SET SET key value [EX seconds] Store a key-value pair, optionally setting a TTL atomically GET GET key Retrieve the value of a key DEL DEL key Delete a key INCR INCR key Increment the integer value of a key by 1 INCRBY INCRBY key amount Increment the integer value of a key by a given amount DECR DECR key Decrement the integer value of a key by 1 DECRBY DECRBY key amount Decrement the integer value of a key by a given amount Expiration (TTL) Command Usage Description --- --- --- EXPIRE EXPIRE key seconds Set a timeout on a key (in sec","default_branch":null,"files":null,"tree":[],"storefront":"/r/AlexJuca","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/AlexJuca/fkvs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}