Add SKIP_REDIS check in getTilesClient and handle KeyDB client initialization
This commit is contained in:
parent
ef58dc618c
commit
fb3f43f736
1 changed files with 9 additions and 3 deletions
|
|
@ -2,12 +2,14 @@ import type { NextApiRequest, NextApiResponse } from "next";
|
|||
import Redis from "ioredis";
|
||||
import { env } from "~/env.mjs";
|
||||
|
||||
|
||||
let tiles: Redis | null = null;
|
||||
|
||||
export function getTilesClient() {
|
||||
if (env.SKIP_REDIS) {
|
||||
return null;
|
||||
}
|
||||
if (!tiles) {
|
||||
tiles = new Redis(`keydb://${env.TILES_URL}` );
|
||||
tiles = new Redis(`keydb://${env.TILES_URL}`);
|
||||
}
|
||||
return tiles;
|
||||
}
|
||||
|
|
@ -24,7 +26,6 @@ export default async function handler(
|
|||
) {
|
||||
const { slug } = req.query;
|
||||
|
||||
|
||||
if (!slug) {
|
||||
return res.status(400).json({
|
||||
error: "Slug is required",
|
||||
|
|
@ -48,6 +49,11 @@ export default async function handler(
|
|||
const cacheKey = `tile:${z}:${x}:${y}`;
|
||||
|
||||
const tiles = getTilesClient();
|
||||
if (!tiles) {
|
||||
return res.status(500).json({
|
||||
error: "KeyDB client is not initialized",
|
||||
});
|
||||
}
|
||||
|
||||
const cachedTile = await tiles.getBuffer(cacheKey);
|
||||
if (cachedTile) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue