Skip to content
/ memkv Public
forked from quangh33/memkv

Fork github.com/quangh33/memkv

Notifications You must be signed in to change notification settings

toet251/memkv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Fork github.com/quangh33/memkv

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%