refactor: add Redis key prefix for namespace isolation

Introduce REDIS_KEY_PREFIX constant to namespace all Redis keys under
'rplace:', preventing collisions in shared Redis instances.
This commit is contained in:
2026-04-16 20:39:12 +07:00
parent fc49de154a
commit f97ca4d34d
2 changed files with 4 additions and 3 deletions
+2 -1
View File
@@ -13,7 +13,8 @@ export const CREDIT_REGEN_RATE = 1; // credits per second
export const MAX_CREDITS = 256;
/** Redis keys */
export const REDIS_CANVAS_KEY = 'canvas';
export const REDIS_KEY_PREFIX = 'rplace:';
export const REDIS_CANVAS_KEY = `${REDIS_KEY_PREFIX}canvas`;
/** 32-color palette from rplace.live (hex values) */
export const COLORS = [
+2 -2
View File
@@ -1,5 +1,5 @@
import { getRedis } from './redis-client.js';
import { MAX_CREDITS, CREDIT_REGEN_RATE } from './constants.js';
import { MAX_CREDITS, CREDIT_REGEN_RATE, REDIS_KEY_PREFIX } from './constants.js';
/**
* Lua script for atomic check-and-deduct of stackable credits.
@@ -41,7 +41,7 @@ return {1, remaining, 0}
export async function checkAndDeductCredits(env, userId, count) {
const redis = getRedis(env);
const now = Math.floor(Date.now() / 1000);
const key = `credits:${userId}`;
const key = `${REDIS_KEY_PREFIX}credits:${userId}`;
const result = await redis.eval(
CREDIT_SCRIPT,