sql >> Database teknologi >  >> NoSQL >> Redis

Skal jeg dele Redis-forbindelse mellem filer/moduler?

Når jeg står over for et spørgsmål som dette, tænker jeg generelt på tre grundlæggende spørgsmål.

  1. Hvad er mest læsbar?
  2. Hvad tillader bedre genbrug af kode?
  3. Hvad er mere effektivt?

Ikke nødvendigvis i denne rækkefølge, da det afhænger af scenariet, men jeg tror i dette tilfælde, at alle tre af disse spørgsmål er til fordel for mulighed B. Hvis du nogensinde har haft brug for at ændre muligheder for createClient, skal du redigere dem i hver fil som bruger det. Som i mulighed A er hver fil, der bruger redis, og mulighed B er blot redis.js. Også hvis et nyere eller andet produkt udkommer, og du ønsker at erstatte redis. Det ville være muligt at gøre redis.js til en indpakning for en anden pakke eller endda en nyere redis-klient, hvilket reducerer konverteringstiden væsentligt.

Globaler er generelt en dårlig ting, men i dette eksempel burde redis.js ikke lagre mutable state, så der er ikke noget problem at have en global/singleton i denne sammenhæng.



  1. LuaSocket, Lua 5.2 og Redis

  2. MongoDB:mongoimport mister forbindelsen ved import af store filer

  3. Hvordan returnerer jeg flask render_template efter Redis-baggrundsjobbet er udført?

  4. Redis Client List formål og beskrivelse