@colyseus/redis-driver
Version:
<div align="center"> <a href="https://github.com/colyseus/colyseus"> <img src="media/logo.svg?raw=true" width="60%" height="300" /> </a> <br> <br> <a href="https://npmjs.com/package/colyseus"> <img src="https://img.shields.io/npm/dm/coly
22 lines (21 loc) • 1.1 kB
TypeScript
import { Redis, Cluster, type ClusterNode, type ClusterOptions, type RedisOptions } from 'ioredis';
import { type IRoomCache, type MatchMakerDriver, type SortOptions } from '@colyseus/core';
export declare class RedisDriver implements MatchMakerDriver {
private readonly _client;
constructor(options?: number | string | RedisOptions | ClusterNode[] | Redis | Cluster, clusterOptions?: ClusterOptions);
has(roomId: string): Promise<boolean>;
query(conditions: Partial<IRoomCache>, sortOptions?: SortOptions): Promise<IRoomCache<any>[]>;
cleanup(processId: string): Promise<void>;
findOne(conditions: Partial<IRoomCache>, sortOptions?: SortOptions): Promise<IRoomCache>;
private _concurrentRoomCacheRequest?;
private _roomCacheRequestByName;
private getRooms;
update(room: IRoomCache, operations: Partial<{
$set: Partial<IRoomCache>;
$inc: Partial<IRoomCache>;
}>): Promise<boolean>;
persist(room: IRoomCache, _?: boolean): Promise<boolean>;
remove(roomId: string): Promise<boolean>;
shutdown(): Promise<void>;
clear(): void;
}