aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--handlers.go10
-rw-r--r--main.go1
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
diff --git a/main.go b/main.go
index 82c3542..a2adbf7 100644
--- a/main.go
+++ b/main.go
@@ -36,6 +36,7 @@ var commandRegistry = map[string]handlerFunc{
"HKEYS": handleHkeys,
"HVALUES": handleHvalues,
"TYPE": handleType,
+ "DBSIZE": handleDbsize,
}
func main() {