添加Valkey支持

This commit is contained in:
CN-JS-HuiBai
2026-04-05 15:02:19 +08:00
parent 484a7a766f
commit e7b8000808
4 changed files with 128 additions and 27 deletions

View File

@@ -1,32 +1,42 @@
const Redis = require('ioredis');
const host = process.env.VALKEY_HOST || 'localhost';
const port = parseInt(process.env.VALKEY_PORT) || 6379;
const password = process.env.VALKEY_PASSWORD || undefined;
const db = parseInt(process.env.VALKEY_DB) || 0;
const ttl = parseInt(process.env.VALKEY_TTL) || 30;
let redis = null;
let ttl = 30;
try {
redis = new Redis({
host,
port,
password,
db,
lazyConnect: true,
maxRetriesPerRequest: 1
});
function init() {
if (redis) {
redis.disconnect();
}
redis.on('error', (err) => {
// Fail silently after one retry, we just won't cache
console.warn('[Cache] Valkey connection failed, caching disabled:', err.message);
});
} catch (err) {
console.warn('[Cache] Valkey init failed:', err.message);
const host = process.env.VALKEY_HOST || 'localhost';
const port = parseInt(process.env.VALKEY_PORT) || 6379;
const password = process.env.VALKEY_PASSWORD || undefined;
const db = parseInt(process.env.VALKEY_DB) || 0;
ttl = parseInt(process.env.VALKEY_TTL) || 30;
try {
redis = new Redis({
host,
port,
password,
db,
lazyConnect: true,
maxRetriesPerRequest: 1
});
redis.on('error', (err) => {
// Fail silently after one retry, we just won't cache
console.warn('[Cache] Valkey connection failed, caching disabled:', err.message);
});
} catch (err) {
console.warn('[Cache] Valkey init failed:', err.message);
}
}
init();
const cache = {
init,
async get(key) {
if (!redis) return null;
try {