46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
// src/main/redis/server.ts
|
|
// 服务器操作
|
|
import { getClient } from './connection'
|
|
|
|
export async function execute(id: string, command: string, args: string[]): Promise<unknown> {
|
|
const client = getClient(id)
|
|
if (!client) throw new Error(`Client ${id} not found`)
|
|
return client.call(command, ...args)
|
|
}
|
|
|
|
export async function getServerInfo(id: string): Promise<string> {
|
|
const client = getClient(id)
|
|
if (!client) throw new Error(`Client ${id} not found`)
|
|
return client.info() as Promise<string>
|
|
}
|
|
|
|
export async function selectDb(id: string, db: number): Promise<void> {
|
|
const client = getClient(id)
|
|
if (!client) throw new Error(`Client ${id} not found`)
|
|
await client.select(db)
|
|
}
|
|
|
|
export async function dbSize(id: string): Promise<number> {
|
|
const client = getClient(id)
|
|
if (!client) throw new Error(`Client ${id} not found`)
|
|
return client.dbsize() as Promise<number>
|
|
}
|
|
|
|
export async function ping(id: string): Promise<string> {
|
|
const client = getClient(id)
|
|
if (!client) throw new Error(`Client ${id} not found`)
|
|
return client.ping()
|
|
}
|
|
|
|
export async function slowLogGet(id: string, count: number): Promise<any[]> {
|
|
const client = getClient(id)
|
|
if (!client) throw new Error(`Client ${id} not found`)
|
|
return client.slowlog('GET', count) as Promise<any[]>
|
|
}
|
|
|
|
export async function slowLogLen(id: string): Promise<number> {
|
|
const client = getClient(id)
|
|
if (!client) throw new Error(`Client ${id} not found`)
|
|
return client.slowlog('LEN') as Promise<number>
|
|
}
|