A simple Redis clone implemented in C.
make
make run-server
make run-client
SET mykey "Hello, World!"
GET mykey
- In-memory Key-Value Store
- Strings (SET/GET)
- Lists (LPUSH/RPUSH/LPOP/RPOP)
- Sets (SADD/SREM/SMEMBERS)
- Sorted Sets (ZADD/ZREM/ZRANGE)
- Hashes (HSET/HGET/HDEL)
- Streams (XADD/XREAD)
- Snapshot Persistence (SAVE/BGSAVE)
- Append-only File Persistence (AOF)
- TTL Support (EXPIRE/TTL)
- Pub/Sub Messaging (PUBLISH/SUBSCRIBE)
- Client/Server Architecture
- TCP Socket Implementation
- Command Processing
- Response Formatting
- Event Loop for I/O Multiplexing
- Single-threaded Architecture
- Atomic Operations
- INCR
- INCRBY
- DECR
- DECRBY