diff options
| author | alex <[email protected]> | 2026-07-07 19:34:11 +0200 |
|---|---|---|
| committer | alex <[email protected]> | 2026-07-07 19:34:11 +0200 |
| commit | 317dd52764ff650602d77f919bcd02270687b3a7 (patch) | |
| tree | 6e2f3e74b71076a0bf11c15e4b9247e2ebb3df0c /handlers.go | |
| parent | 162077efd25e286f7a0fd0fd214be6d1e7de337e (diff) | |
| download | redis-clone-317dd52764ff650602d77f919bcd02270687b3a7.tar.xz redis-clone-317dd52764ff650602d77f919bcd02270687b3a7.zip | |
DEL can now handle multiple keys
Diffstat (limited to 'handlers.go')
| -rw-r--r-- | handlers.go | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/handlers.go b/handlers.go index 3bb08be..8a667de 100644 --- a/handlers.go +++ b/handlers.go @@ -82,21 +82,21 @@ func handleDel(conn net.Conn, args []string) { db.mu.Lock() defer db.mu.Unlock() - if len(args) != 2 { + if len(args) < 2 { err := errors.New("wrong number of arguments for 'DEL'") conn.Write(serializeRESP(err)) return } - key := args[1] - - _, exists := db.data[key] - if exists { - delete(db.data, key) - conn.Write(serializeRESP(1)) - } else { - conn.Write(serializeRESP(0)) + deletedKeys := 0 + for i := 1; i<len(args);i++{ + _, exists := db.data[args[i]] + if exists { + delete(db.data, args[i]) + deletedKeys += 1 + } } + conn.Write(serializeRESP(deletedKeys)) } func handleIncr(conn net.Conn, args []string) { |
