mirror of
https://github.com/PrivateCaptcha/PrivateCaptcha.git
synced 2026-02-09 15:28:49 -06:00
27 lines
905 B
SQL
27 lines
905 B
SQL
-- name: GetCachedByKey :one
|
|
SELECT value FROM backend.cache WHERE key = $1 AND expires_at >= NOW();
|
|
|
|
-- name: CreateCache :exec
|
|
INSERT INTO backend.cache (key, value, expires_at) VALUES ($1, $2, NOW() + $3::INTERVAL)
|
|
ON CONFLICT (key) DO UPDATE
|
|
SET value = EXCLUDED.value, expires_at = EXCLUDED.expires_at;
|
|
|
|
-- name: CreateCacheMany :exec
|
|
INSERT INTO backend.cache (key, value, expires_at)
|
|
SELECT unnest(@keys::TEXT[]) as key,
|
|
unnest(@values::BYTEA[]) as value,
|
|
NOW() + unnest(@intervals::INTERVAL[]) as expires_at
|
|
ON CONFLICT (key)
|
|
DO UPDATE SET
|
|
value = EXCLUDED.value,
|
|
expires_at = EXCLUDED.expires_at;
|
|
|
|
-- name: UpdateCacheExpiration :exec
|
|
UPDATE backend.cache SET expires_at = NOW() + $2::INTERVAL WHERE key = $1;
|
|
|
|
-- name: DeleteCachedByKey :exec
|
|
DELETE FROM backend.cache WHERE key = $1;
|
|
|
|
-- name: DeleteExpiredCache :exec
|
|
DELETE FROM backend.cache WHERE expires_at < NOW();
|