Please Note, the Queue is always "cached" on the client side, which means it's still quite fast, however, the speed of "saving and syncing" depends on the StoreManager.
Here is a List of External Stores I'd recommend:
DragonflyDB (Redis Remake, but for bigger scale and it's quite faster than redis)
The interface `QueueStoreManager` declares, what methods your custom QueueStore requires!
export interface QueueStoreManager extends Record<string, any>{
/** @async get a Value (MUST RETURN UNPARSED!) */
get: (guildId: unknown) => Promise<any>;
/** @async Set a value inside a guildId (MUST BE UNPARSED) */
set: (guildId: unknown, value: unknown) => Promise<any>;
/** @async Delete a Database Value based of it's guildId */
delete: (guildId: unknown) => Promise<any>;
/** @async Transform the value(s) inside of the QueueStoreManager (IF YOU DON'T NEED PARSING/STRINGIFY, then just return the value) */
stringify: (value: unknown) => Promise<any>;
/** @async Parse the saved value back to the Queue (IF YOU DON'T NEED PARSING/STRINGIFY, then just return the value) */
parse: (value: unknown) => Promise<Partial<StoredQueue>>;
}