Skip to content

Latest commit

 

History

History
45 lines (44 loc) · 770 Bytes

README.md

File metadata and controls

45 lines (44 loc) · 770 Bytes

A simple in-memory key-value database

How to run

  cd cmd
  go run main.go
  # on another terminal
  redis-cli -p 8081

Supported features

  • Compatible with Redis CLI
  • Single-threaded architecture
  • Multiplexing IO for Linux using epoll
  • RESP protocol
  • Graceful shutdown
  • Simple eviction mechanism
  • Commands:
    • PING
    • SET
    • GET
    • TTL
    • DEL
    • EXPIRE
    • INCR
    • ZADD
    • ZRANK
    • ZREM
    • ZSCORE
    • ZCARD
    • GEOADD
    • GEODIST
    • GEOHASH

WIP

  • Geohash commands:
    • GEOADD
    • GEODIST
    • GEOHASH
    • GEOSEARCH

Todo

  • Bloom filter commands
  • Hyperloglog
  • Count-min sketch
  • Morris counter
  • Cuckoo filter
  • Approx LRU eviction