From 01cb269a5129f2ac98385ae041ce2a447a09b598 Mon Sep 17 00:00:00 2001 From: James Mills <1290234+prologic@users.noreply.github.com> Date: Thu, 21 Mar 2019 10:29:18 +1000 Subject: [PATCH] Add EXISTS command to server (bitraftd) --- cmd/bitcaskd/main.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cmd/bitcaskd/main.go b/cmd/bitcaskd/main.go index 4a79d34..6fc0a5a 100644 --- a/cmd/bitcaskd/main.go +++ b/cmd/bitcaskd/main.go @@ -96,6 +96,17 @@ func main() { } else { conn.WriteBulk(value) } + case "exists": + if len(cmd.Args) != 2 { + conn.WriteError("ERR wrong number of arguments for '" + string(cmd.Args[0]) + "' command") + return + } + key := string(cmd.Args[1]) + if db.Has(key) { + conn.WriteInt(1) + } else { + conn.WriteInt(0) + } case "del": if len(cmd.Args) != 2 { conn.WriteError("ERR wrong number of arguments for '" + string(cmd.Args[0]) + "' command")