aboutsummaryrefslogtreecommitdiff
path: root/redisDB.go
diff options
context:
space:
mode:
Diffstat (limited to 'redisDB.go')
-rw-r--r--redisDB.go59
1 files changed, 0 insertions, 59 deletions
diff --git a/redisDB.go b/redisDB.go
deleted file mode 100644
index 08c044d..0000000
--- a/redisDB.go
+++ /dev/null
@@ -1,59 +0,0 @@
-package main
-
-import (
- "fmt"
- "time"
-)
-type Item struct {
- Value any
- ExpiresAt *time.Time
-}
-
-type RedisDB struct {
- shards []*Shard
-}
-
-type SimpleString string
-
-func serializeRESP(v any) []byte {
- switch val := v.(type) {
- case string:
- bulkString := fmt.Sprintf("$%d\r\n%s\r\n", len(val), val)
- return []byte(bulkString)
- case int:
- integerString := fmt.Sprintf(":%d\r\n",val)
- return []byte(integerString)
- case nil:
- return []byte("$-1\r\n")
- case error:
- errorString := fmt.Sprintf("-ERR %s\r\n",val.Error())
- return []byte(errorString)
- case []string:
- size := len(val)
- result := []byte(fmt.Sprintf("*%d\r\n", size))
- for i := 0; i < size; i++ {
- result = append(result, serializeRESP(val[i])...)
- }
- return result
- case []any:
- size := len(val)
- result := []byte(fmt.Sprintf("*%d\r\n", size))
- for i := 0; i < size; i++ {
- result = append(result, serializeRESP(val[i])...)
- }
- return result
- case map[string]string:
- size := len(val)
- result := []byte(fmt.Sprintf("*%d\r\n", size*2))
- for key, value := range val {
- result = append(result, serializeRESP(key)...)
- result = append(result, serializeRESP(value)...)
- }
- return result
- case SimpleString:
- simpleStr := fmt.Sprintf("+%s\r\n", val)
- return []byte(simpleStr)
- default:
- return []byte("-ERR internal server error: unknown type\r\n")
- }
-}