2017-08-28 4 views
1

Je cherche à intégrer un service de mise en cache avec serverless.intégration redis dans serverless

J'ai décidé d'aller avec redis. Cependant en lisant le npm redis, il semble que vous devez appeler client.quit() après avoir terminé la demande.

La façon dont serverless semble fonctionner est que l'instance est créée, puis supprimée lorsqu'elle n'est pas utilisée. Donc je me demandais s'il y avait un moyen de quitter la connexion Redis lorsque l'instance sans serveur est supprimée.

Ou simplement de lancer une connexion à chaque requête et de quitter la connexion avant la fin de chaque requête. J'espérais pouvoir le faire sur l'état de l'application, au lieu de demander l'état, de cette façon je n'aurai pas à engendrer autant de connexions.

Répondre

0

N ° Une connexion pourrait être réutilisée. Il n'a pas besoin de démarrer une nouvelle connexion à chaque requête.

Si vous utilisez le redis.creatClient() pour créer une connexion, vous pouvez toujours utiliser cette connexion dans votre application. Et il a un mécanisme de reconnexion si la connexion est rompue. Donc, dans le développement de votre application, vous n'avez pas besoin de vous soucier du problème de connexion, il suffit d'obtenir une connexion globale et de toujours l'utiliser.

+0

donc je n'ai pas besoin d'appeler 'client.quit()' du tout? De ce que j'ai lu si vous n'appelez pas cela, il ne ferme pas la connexion. –

+0

oui, il ne fermera pas la connexion si vous n'appelez pas le client.quit(). Mais pourquoi appelez-vous client.quit(), votre application est en cours d'exécution et vous avez toujours besoin de ce client pour envoyer la commande à redis, vous avez toujours besoin de cette connexion. Ainsi, lorsque votre application est en cours d'exécution, elle maintient une connexion à redis, chaque fois que vous voulez envoyer une commande à redis, utilisez ce client pour le faire. Si vous créez un client pour chaque requête, ce sera un gros coût. – GuangshengZuo

+0

Vous devez définir le client à la variable globale, et partout dans votre code pourrait l'utiliser. – GuangshengZuo