From fb7a5cf389fc8fb2a937e4b53fa8f06d79991285 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Pardou-Piquemal?= Date: Fri, 8 May 2020 16:55:28 +0200 Subject: [PATCH] Store is now lazy loaded (#143) --- server/src/store/index.js | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/server/src/store/index.js b/server/src/store/index.js index 879d11d..dcd83ee 100644 --- a/server/src/store/index.js +++ b/server/src/store/index.js @@ -1,20 +1,25 @@ import MemoryStore from './Memory'; import RedisStore from './Redis'; -const storeBackend = process.env.STORE_BACKEND || 'redis'; -const storeHost = process.env.STORE_HOST || process.env.REDIS_URL; - let store; -switch (storeBackend) { - case 'memory': - store = new MemoryStore(); - break; - case 'redis': - default: - store = new RedisStore(storeHost); - break; -} -const getStore = () => store; +const getStore = () => { + // Load store on first demand + if(store === undefined){ + const storeBackend = process.env.STORE_BACKEND || 'redis'; + const storeHost = process.env.STORE_HOST || process.env.REDIS_URL; + + switch (storeBackend) { + case 'memory': + store = new MemoryStore(); + break; + case 'redis': + default: + store = new RedisStore(storeHost); + break; + } + } + return store; +}; export default getStore;