Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gatewayd-io/gatewayd-plugin-cache

Repository files navigation

gatewayd-plugin-cache

GatewayD plugin for caching query results.

Download * Documentation

Features

  • Basic caching of database responses to client queries
  • Invalidate cached responses by parsing incoming queries (table-based):
    • DML: INSERT, UPDATE and DELETE
    • Multi-statements: UNION, INTERSECT and EXCEPT
    • DDL: TRUNCATE, DROP and ALTER
    • WITH clause
    • Multiple queries (delimited by semicolon)
  • Periodic cache invalidation for invalidating stale client keys
  • Support for setting expiry time on cached data
  • Support for caching responses from multiple databases on multiple servers
  • Detect client's chosen database from the client's startup message
  • Skip caching date-time related functions
  • Prometheus metrics for quantifying cache hits, misses, gets, sets, deletes and scans
  • Prometheus metrics for counting total RPC method calls
  • Logging
  • Configurable via environment variables

Build for testing

To build the plugin for development and testing, run the following command:

make build-dev

Running the above command causes the go mod tidy and go build to run for compiling and generating the plugin binary in the current directory, named gatewayd-plugin-cache.

Sentry

This plugin uses Sentry for error tracking. Sentry can be configured using the SENTRY_DSN environment variable. If SENTRY_DSN is not set, Sentry will not be used.

About

GatewayD plugin for caching query results

Topics

Resources

Readme

License

AGPL-3.0 license

Stars

Watchers

Forks

Packages

Contributors