sql >> Databáze >  >> NoSQL >> Redis

Mám sdílet připojení Redis mezi soubory/moduly?

Když čelím otázce, jako je tato, obecně přemýšlím o třech základních otázkách.

  1. Co je čitelnější?
  2. Co umožňuje lepší opětovné použití kódu?
  3. Co je efektivnější?

Ne nutně v tomto pořadí, protože to závisí na scénáři, ale věřím, že v tomto případě jsou všechny tři tyto otázky ve prospěch možnosti B. Pokud jste někdy potřebovali upravit možnosti pro createClient, museli byste je upravit v každém souboru která to používá. Což v možnosti A je každý soubor, který používá redis, a možnost B je jen redis.js. Také pokud vyjde novější nebo jiný produkt a chcete nahradit redis Bylo by možné vytvořit z redis.js obal pro jiný balíček nebo dokonce novějšího klienta redis podstatně zkrátit dobu konverze.

Globals jsou obecně špatná věc, ale v tomto příkladu by redis.js neměl ukládat proměnlivý stav, takže v tomto kontextu není problém mít global/singleton.



  1. Opravdu má být Redigo Redis Pool globální proměnnou?

  2. MongoDB získává mLab  –  Jaké jsou různé alternativy MongoDB hostingu?

  3. Jak mohu číst z Redis uvnitř MULTI bloku v Ruby?

  4. Reverzní stránkování prostřednictvím seřazené sady Redis