feat: 添加对 Kvrocks 的支持,包括配置文件、环境变量示例及数据库操作实现

This commit is contained in:
katelya
2025-09-03 14:34:45 +08:00
parent d563ca165d
commit 66a6fd0392
7 changed files with 875 additions and 10 deletions
+5 -1
View File
@@ -2,16 +2,18 @@
import { AdminConfig } from './admin.types';
import { D1Storage } from './d1.db';
import { KvrocksStorage } from './kvrocks.db';
import { LocalStorage } from './localstorage.db';
import { RedisStorage } from './redis.db';
import { Favorite, IStorage, PlayRecord } from './types';
import { UpstashRedisStorage } from './upstash.db';
// storage type 常量: 'localstorage' | 'redis' | 'd1' | 'upstash',默认 'localstorage'
// storage type 常量: 'localstorage' | 'redis' | 'kvrocks' | 'd1' | 'upstash',默认 'localstorage'
const STORAGE_TYPE =
(process.env.NEXT_PUBLIC_STORAGE_TYPE as
| 'localstorage'
| 'redis'
| 'kvrocks'
| 'd1'
| 'upstash'
| undefined) || 'localstorage';
@@ -21,6 +23,8 @@ function createStorage(): IStorage {
switch (STORAGE_TYPE) {
case 'redis':
return new RedisStorage();
case 'kvrocks':
return new KvrocksStorage();
case 'upstash':
return new UpstashRedisStorage();
case 'd1':