diff options
| -rw-r--r-- | handlers.go | 10 | ||||
| -rw-r--r-- | main.go | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/handlers.go b/handlers.go index 3b7fb76..3bb08be 100644 --- a/handlers.go +++ b/handlers.go @@ -609,4 +609,14 @@ func handleType(conn net.Conn, args []string){ default: conn.Write(serializeRESP(SimpleString("unknown"))) } +} + +func handleDbsize(conn net.Conn, args []string){ + if len(args) != 1 { + conn.Write(serializeRESP(errors.New("ERR wrong number of arguments for 'DBSIZE'"))) + return + } + db.mu.Lock() + defer db.mu.Unlock() + conn.Write(serializeRESP(len(db.data))) }
\ No newline at end of file @@ -36,6 +36,7 @@ var commandRegistry = map[string]handlerFunc{ "HKEYS": handleHkeys, "HVALUES": handleHvalues, "TYPE": handleType, + "DBSIZE": handleDbsize, } func main() { |
