Fredb is meant to be the easiest option if you just want a persistent KV store for your project. As you can hopefully see by now, there is no sign up or anything needed from you. I want you to create a database as quickly as possible so I can have experience working on high-load systems!
Every request needs an X-Api-Key header. Grab one above.
db.fredyang.com/key/KEYGet a value from a key.
| Field | Value |
|---|---|
| header | X-Api-Key: your key |
| path param | key |
| body | — |
| response | 200, raw value as text |
curl https://db.fredyang.com/key/hello \
-H "X-Api-Key: $API_KEY"await fetch("https://db.fredyang.com/key/hello", {
headers: { "X-Api-Key": API_KEY },
}).then(r => r.text());req, _ := http.NewRequest("GET", "https://db.fredyang.com/key/hello", nil)
req.Header.Set("X-Api-Key", apiKey)
resp, _ := http.DefaultClient.Do(req)requests.get("https://db.fredyang.com/key/hello", headers={"X-Api-Key": API_KEY})db.fredyang.com/key/KEYAdd or update a value from a key.
| Field | Value |
|---|---|
| header | X-Api-Key: your key |
| path param | key |
| body | value |
| response | 204, empty |
curl -X PUT https://db.fredyang.com/key/hello \
-H "X-Api-Key: $API_KEY" \
-d "world"await fetch("https://db.fredyang.com/key/hello", {
method: "PUT",
headers: { "X-Api-Key": API_KEY },
body: "world",
});req, _ := http.NewRequest("PUT", "https://db.fredyang.com/key/hello", strings.NewReader("world"))
req.Header.Set("X-Api-Key", apiKey)
http.DefaultClient.Do(req)requests.put("https://db.fredyang.com/key/hello", headers={"X-Api-Key": API_KEY}, data="world")db.fredyang.com/key/KEYDelete a key/value pair.
| Field | Value |
|---|---|
| header | X-Api-Key: your key |
| path param | key |
| body | — |
| response | 204, empty |
curl -X DELETE https://db.fredyang.com/key/hello \
-H "X-Api-Key: $API_KEY"await fetch("https://db.fredyang.com/key/hello", {
method: "DELETE",
headers: { "X-Api-Key": API_KEY },
});req, _ := http.NewRequest("DELETE", "https://db.fredyang.com/key/hello", nil)
req.Header.Set("X-Api-Key", apiKey)
http.DefaultClient.Do(req)requests.delete("https://db.fredyang.com/key/hello", headers={"X-Api-Key": API_KEY})db.fredyang.com/range?start=START&end=ENDGet a list of key/value pairs between two keys, determined alphabetically.
| Field | Value |
|---|---|
| header | X-Api-Key: your key |
| query params | start, end: key range bounds |
| body | — |
| response | 200, JSON array of key/value pairs |
curl "https://db.fredyang.com/range?start=a&end=z" \
-H "X-Api-Key: $API_KEY"await fetch("https://db.fredyang.com/range?start=a&end=z", {
headers: { "X-Api-Key": API_KEY },
}).then(r => r.json());req, _ := http.NewRequest("GET", "https://db.fredyang.com/range?start=a&end=z", nil)
req.Header.Set("X-Api-Key", apiKey)
resp, _ := http.DefaultClient.Do(req)requests.get("https://db.fredyang.com/range", headers={"X-Api-Key": API_KEY}, params={"start": "a", "end": "z"})