-
Notifications
You must be signed in to change notification settings - Fork 0
Complete all of the necessary and basic commands firstΒ #6
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
π Server & Connection
-
PINGβ Check if server is alive
Usage:PINGβPONG -
ECHO <message>β Return the message
Usage:ECHO "Hello"β"Hello" -
SELECT <index>β Switch to DB index
Usage:SELECT 1 -
FLUSHDB/FLUSHALLβ Clear keys in DB or all DBs
Usage:FLUSHDB,FLUSHALL -
DBSIZEβ Get number of keys in current DB
Usage:DBSIZEβ3
π§ Strings
-
SET <key> <value>/GET <key>
Usage:SET name Alice,GET nameβAlice -
DEL <key>β Delete key
Usage:DEL nameβ1 -
EXISTS <key>β Check if key exists
Usage:EXISTS nameβ0 -
INCR <key>/DECR <key>
Usage:SET counter 10,INCR counterβ11,DECR counterβ10 -
APPEND <key> <value>β Append to string
Usage:APPEND name " Smith"β11 -
GETSET <key> <value>β Set new value, return old
Usage:GETSET name BobβAlice -
MSET key1 val1 key2 val2 ...β Set multiple keys
Usage:MSET a 1 b 2
π Key Management
-
KEYS <pattern>β Match keys with glob pattern
Usage:KEYS *β[a, b, name] -
TYPE <key>β Get value type
Usage:TYPE nameβstring -
EXPIRE <key> <seconds>β Set TTL
Usage:EXPIRE name 10 -
TTL <key>β Time to live
Usage:TTL nameβ9 -
PERSIST <key>β Remove expiration
Usage:PERSIST name
π Lists
-
LPUSH <key> <value>/RPUSH <key> <value>
Usage:LPUSH fruits apple,RPUSH fruits banana -
LPOP <key>/RPOP <key>
Usage:LPOP fruitsβapple -
LRANGE <key> <start> <stop>β Get sublist
Usage:LRANGE fruits 0 -1β[banana] -
LLEN <key>β Length of list
Usage:LLEN fruitsβ1
π¦ Sets
-
SADD <key> <member>β Add to set
Usage:SADD tags red -
SREM <key> <member>β Remove from set
Usage:SREM tags red -
SISMEMBER <key> <member>β Check membership
Usage:SISMEMBER tags blueβ0 -
SMEMBERS <key>β List all members
Usage:SMEMBERS tagsβ[blue, green] -
SCARD <key>β Count members
Usage:SCARD tagsβ2
π§Ύ Hashes
-
HSET <key> <field> <value>β Set field
Usage:HSET user name Alice -
HGET <key> <field>β Get field
Usage:HGET user nameβAlice -
HDEL <key> <field>β Delete field
Usage:HDEL user name -
HGETALL <key>β Get all field-value pairs
Usage:HGETALL userβ[name, Alice, age, 25] -
HLEN <key>β Count fields
Usage:HLEN userβ2
π (Optional) Sorted Sets (ZSets)
-
ZADD <key> <score> <member>β Add with score
Usage:ZADD scores 100 Alice -
ZRANGE <key> <start> <stop> [WITHSCORES]
Usage:ZRANGE scores 0 -1 WITHSCORESβ[Alice, 100] -
ZREM <key> <member>β Remove member
Usage:ZREM scores Alice -
ZCARD <key>β Count members
Usage:ZCARD scoresβ0
π§ͺ Testing & Debug
- Add basic REPL to accept input commands
- Add command logging for debugging
- Add unit tests for each data type and command
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
In progress (Server)