Edge KV API

更新时间:
复制 MD 格式

The built-in Edge KV API lets you read, write, and delete key-value pairs in namespaces.

Constructor

Creates an Edge KV instance for a specific namespace.

  • Definition

    const edgeKv = new EdgeKV({ namespace: "ns"});
  • Parameters

    Parameter

    Description

    namespace

    The namespace name created in the console.

get

Reads a value by key from a namespace.

  • Definition

    get(key[, {type: "type"}])
  • Parameters

    Parameter

    Description

    key

    The key to retrieve. Must be a string.

    type

    The return value format. Valid values:

    • stream (default): Returns the value as a ReadableStream.

    • text: Returns the value as a string.

    • json: Parses the value as JSON and returns a JavaScript object.

    • arrayBuffer: Returns the value as an ArrayBuffer.

  • Return value

    Returns a Promise that resolves to the value:

    • Resolves to undefined if the key is not found.

    • Rejected on error.

  • Example

    export default {
      fetch(request) {
        return handleRequest(request)
      }
    }
    async function handleRequest(request) {
      try {
        const edgeKV = new EdgeKV({ namespace: "ns" });
        let getType = { type: "text" };
        let value = await edgeKV.get("key", getType);
        if (value === undefined) {
          return "EdgeKV get: key not found";
        } else {
          return new Response(value);
        }
      } catch (e) {
        return "EdgeKV get error" + e;
      }
    }

put

Writes or updates a key-value pair in a namespace.

  • Definition

    put(key,value)
  • Parameters

    Parameter

    Description

    key

    The key to write. Must be a non-empty string.

    value

    The value to store. Maximum size: 1.8 MB. Valid types:

    • string

    • ReadableStream

    • ArrayBuffer

    • Response

  • Return value

    Returns a Promise that resolves on completion:

    • Resolves to undefined on success.

    • Rejected on error.

  • Example

    export default {
      async fetch(request) {
        return handleRequest(request);
      }
    }
    async function handleRequest(request) {
      try {
        const edgeKV = new EdgeKV({ namespace: "ns" });
        let data = await edgeKV.put("put_string", "string_value")
        // await edgeKV.put("put_stream", new HTMLStream("test_stream", []));
        // await edgeKV.put("put_array_buffer", getArrayBuffer());
        // await edgeKV.put("put_array_buffer", new Response("test"));
        if (data === undefined) {
          return "EdgeKV put success\n";
        } else {
          return "EdgeKV put failed\n";
        }
      } catch (e) {
        return "EdgeKV put error" + e;
      }
    }

delete

Deletes a key-value pair from a namespace.

  • Definition

    delete(key)
  • Parameters

    Parameter

    Description

    key

    The key to delete. Must be a string.

  • Return value

    Returns a Promise that resolves on completion:

    • Resolves to true on success.

    • Resolves to false on failure.

    • Rejected on error.

  • Example

    export default {
      async fetch(request) {
        return handleRequest(request);
      }
    }
    async function handleRequest() {
      try {
        const edgeKV = new EdgeKV({ namespace: "ns" });
        let resp = await edgeKV.delete("key");
        if (resp) {
          return "EdgeKV delete success";
        } else {
          return "EdgeKV delete failed";
        }
      }
      catch (e) {
        return "EdgeKV delete error" + e;
      }
    }