// utils/cache.js - NodeCache 기반 간소화 캐시
const NodeCache = require('node-cache');

const memoryCache = new NodeCache({
  stdTTL: 600,
  checkperiod: 120,
  useClones: false
});

const get = async (key) => {
  try {
    return memoryCache.get(key) || null;
  } catch (error) {
    console.warn(`캐시 조회 오류 (${key}):`, error.message);
    return null;
  }
};

const set = async (key, value, ttl = 600) => {
  try {
    memoryCache.set(key, value, ttl);
    return true;
  } catch (error) {
    console.warn(`캐시 저장 오류 (${key}):`, error.message);
    return false;
  }
};

const del = async (key) => {
  try {
    memoryCache.del(key);
    return true;
  } catch (error) {
    console.warn(`캐시 삭제 오류 (${key}):`, error.message);
    return false;
  }
};

module.exports = { get, set, del };
