Redis
 sql >> база данни >  >> NoSQL >> Redis

Трябва ли да споделя Redis връзка между файлове/модули?

Когато се сблъскам с въпрос като този, обикновено мисля за три основни въпроса.

  1. Кое е по-четливо?
  2. Кое позволява по-добра повторна употреба на код?
  3. Кое е по-ефективно?

Не непременно в този ред, тъй като зависи от сценария, но вярвам, че в този случай и трите от тези въпроса са в полза на опция B. Ако някога ви се наложи да промените опциите за createClient, тогава ще трябва да ги редактирате във всеки файл която го използва. Което в опция А е всеки файл, който използва redis, а опция B е просто redis.js. Също така, ако се появи по-нов или различен продукт и искате да замените redis, би било възможно да направите redis.js обвивка за различен пакет или дори по-нов клиент на redis, което значително да намали времето за преобразуване.

Глобалните по принцип са нещо лошо, но в този пример redis.js не трябва да съхранява променливо състояние, така че няма проблем да има глобален/единичен в този контекст.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да изпълним Persistence Store в Redis?

  2. Да внедря ли сериализиране и десериализиране на NodesJS + Passport + RedisStore?

  3. Има ли вграждаща Java алтернатива на Redis?

  4. Как StackExchange.Redis използва множество крайни точки и връзки?

  5. Има ли някакъв начин да се работи със сесии без заключване на ASP.Net MVC сайт?