Florian Bouillon 35315c5eb9 feat: initial release
Signed-off-by: Florian BOUILLON <f.bouillon@aptatio.com>
2023-07-13 15:40:00 +02:00
2023-07-13 15:40:00 +02:00
2023-07-13 15:40:00 +02:00
2023-07-13 15:40:00 +02:00
2023-07-13 15:40:00 +02:00
2023-07-13 15:40:00 +02:00
2023-07-13 15:40:00 +02:00

@dzeio/cache

Simple Cache quick key/value server to store cache

Usage

The server is available as a Websocket Server and an HTTP server

Options

Some options are settable and optionnal for manipulate how the key works

{
	"options": {
		"invalidationTags": ["array", "of", "tags", "to", "invalide", "a", "key"],
		"ttl": 3600, // time to live of the key in seconds
		"deletable": false // make the element not deletable by the remote (ttl still apply)
	}
}

Websocket

Connect to the websocket server at /ws

Set an item

{
	"type": "set",
	"key": "key of the item",
	"scope": "optionnal scope",
	"value": [{"the": "value", "in": {"any": "format"}, "you": "want"}, 1, true]
	// other formats
	// "value": true
	// "value": 1
	// "value": "pouet"
	// addionnal storage options (see below)
	// "options":
}

Get an item

{
	"type": "get",
	"key": "key of the item",
	"scope": "optionnal scope"
}

The response will be formatted like this

{
	"value": "value" // the value
}

HTTP Requests

Set an item

send a request to /:item or /:scope/:item with the method set to PUT with the following body:

{
	"value": [{"the": "value", "in": {"any": "format"}, "you": "want"}, 1, true]
	// other formats
	// "value": true
	// "value": 1
	// "value": "pouet"

	// addionnal storage options (see below)
	// "options":
}

Get an item

send a request to /:item or /:scope/:item with the method set to GET.

The response will be formatted like this

{
	"value": "value" // the value
}

delete an item

send a request to /:item or /:scope/:item with the method set to DELETE.

The response will be formatted like this

{
	"existed": true, // return if the element existed
	"deleted": true // return if the element is deleted (or did not exists in the first place)
}

/cache/:item /cache/:scope/:item /config/ttl /actions/invalidate?scope=:scope

Description
A Small and quick caching server
Readme 55 KiB
Languages
TypeScript 100%