mirror of
https://github.com/tiennm99/rplace.git
synced 2026-05-26 17:55:54 +00:00
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:
@@ -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 = [
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user