From aac1dd50b61090461cefc0263f065140be4bf50b Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 8 Jul 2026 21:04:46 +0200 Subject: added ExecuteMulti method and refactored del to work with shards --- handlers.go | 27 +++++++++++++++------------ shards.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 12 deletions(-) diff --git a/handlers.go b/handlers.go index 1a04db9..980e805 100644 --- a/handlers.go +++ b/handlers.go @@ -74,28 +74,31 @@ func handleSet(conn net.Conn, args []string) { conn.Write(serializeRESP(result)) } -/* + func handleDel(conn net.Conn, args []string) { - db.mu.Lock() - defer db.mu.Unlock() if len(args) < 2 { err := errors.New("wrong number of arguments for 'DEL'") conn.Write(serializeRESP(err)) return } - - deletedKeys := 0 - for i := 1; i= 0; i --{ + shardMap[sortedIDs[i]].mu.Unlock() + } + }() + + shards := make([]*Shard, 0, len(shardMap)) + for _, id := range sortedIDs { + shards = append(shards, shardMap[id]) + } + return fn(shards) +} -- cgit v1.2.3