Skip to content

Instantly share code, notes, and snippets.

@basyusuf
Created March 10, 2021 22:42
Show Gist options
  • Save basyusuf/589773a9736284a476b3563669a03cb0 to your computer and use it in GitHub Desktop.
Save basyusuf/589773a9736284a476b3563669a03cb0 to your computer and use it in GitHub Desktop.
Good Singleton
class Redis {
private static instance: Redis;
private id: number;
private base_url: string;
private port: number;
private constructor(base_url: string, port: number = 6379) {
this.base_url = base_url;
this.port = port;
this.id = new Date().getTime();
}
static getInstance(base_url: string, port: number = 6379) {
if (!this.instance) {
this.instance = new Redis(base_url, port);
}
return this.instance;
}
connect() {
console.log(`${this.base_url}:${this.port}`);
console.log("Connected Redis, instance id:", this.id)
}
execQuery() {
console.log("Executed query!")
}
//Getter and setters..
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment