sql >> Databasteknik >  >> NoSQL >> Redis

Ska jag dela Redis-anslutning mellan filer/moduler?

När jag ställs inför en fråga som denna tänker jag generellt på tre grundläggande frågor.

  1. Vilket är mer läsbart?
  2. Vilket tillåter bättre återanvändning av kod?
  3. Vilket är mer effektivt?

Inte nödvändigtvis i den här ordningen eftersom det beror på scenariot, men jag tror att i det här fallet är alla dessa tre frågor för alternativ B. Om du någonsin behövde ändra alternativ för createClient skulle du behöva redigera dem i varje fil som använder den. Vilket i alternativ A är varje fil som använder redis, och alternativ B är bara redis.js. Också om en nyare eller annan produkt kommer ut och du vill ersätta redis. Det skulle vara möjligt att göra redis.js till ett omslag för ett annat paket eller till och med en nyare redis-klient som avsevärt minskar konverteringstiden.

Globaler är i allmänhet en dålig sak, men i det här exemplet borde inte redis.js lagra föränderligt tillstånd, så det är inga problem att ha en global/singleton i detta sammanhang.



  1. Behöver en lösning för att slå upp en sträng till objectID outsiderField

  2. Vad är nytt i MongoDB 4.2

  3. Det går inte att ladda partialer på servern JS

  4. RedisTemplate expire fungerar inte