cd cmd
go run main.go
# on another terminal
redis-cli -p 3000
- Server Models:
- Simple TCP Server
- Thread pool
- One thread per connection model
- Multiplexing
- Shared-nothing architecture
- RESP protocol
- Commands:
- Hashtable: GET, SET, DEL, TTL
- Simple Set: SADD, SREM, SMEMEBERS, SISMEMBER
- Sorted Set: ZADD, ZSCORE, ZRANK
- Count-min sketch: CMS.INITBYDIM, CMS.INCRBY, CMS.QUERY
- Bloom Filter: BF.RESERVE, BF.MADD, BF.EXISTS
- Passive, Active expired key deletion
- Cache eviction: random, approximated LRU
- Graceful shutdown
- More commands:
- Geospatial
- List
- Bitmap
- Hyperloglog
- Queue
- Pipeline
- Authentication
- Data persistence: RDB, AOF ...