Contents

hummingbird-project/hummingbird-valkey

Valkey is an open source, in-memory data structure store, used as a database, cache, and message broker.

Usage

import Hummingbird
import HummingbirdValkey

let valkey = ValkeyClient(.hostname(valkeyHostname, port: 6379), logger: Logger(label: "Valkey"))
let persist = ValkeyPersistDriver(client: valkeyClient)

// create router and add a GET /valkey/{key} and PUT /valkey/{key} routes
let router = Router()
router.get("valkey/{key}") { request, context -> String? in
    let key = try context.parameters.require("key")
    return try await persist.get(key: .init(key), as: String.self)
}
router.put("valkey/{key}") { request, context in
    let key = try context.parameters.require("key")
    let value = try request.uri.queryParameters.require("value")
    try await persist.set(key: key, value: value)
    return HTTPResponse.Status.ok
}
// create application using router
var app = Application(
    router: router,
    configuration: .init(address: .hostname("127.0.0.1", port: 8080))
)
app.addServices(valkey)
// run hummingbird application
try await app.runService()

Documentation

Reference documentation for HummingbirdValkey can be found here

Package Metadata

Repository: hummingbird-project/hummingbird-valkey

Default branch: main

README: README.md