Ich bin dabei, einen Caching-Service mit Serverless zu integrieren.integriert redis in serverless
Ich habe mich entschieden, mit redis zu gehen. Durch das Lesen der npm redis scheint es jedoch erforderlich zu sein, dass Sie nach Abschluss der Anfrage client.quit()
anrufen müssen.
Die Art, wie Serverless zu funktionieren scheint, ist, dass die Instanz erzeugt und dann gelöscht wird, wenn sie nicht verwendet wird. Also habe ich mich gefragt, ob es eine Möglichkeit gibt, die Redis-Verbindung zu beenden, wenn die serverlose Instanz gelöscht wird.
Oder ob ich einfach nur eine Verbindung bei jeder Anfrage starten muss und die Verbindung vor jeder Anfrage beenden muss.
Ich hatte gehofft, ich könnte es auf den App-Zustand, anstatt Anfrage Zustand, so dass ich nicht so viele Verbindungen spawnen muss.
Also muss ich 'client.quit()' überhaupt nicht aufrufen? Von was ich gelesen habe, wenn Sie dies nicht anrufen, schließt es die Verbindung nicht. –
Ja, die Verbindung wird nicht geschlossen, wenn Sie client.quit() nicht aufrufen. Aber warum Sie client.quit() aufrufen, Ihre App läuft, und Sie brauchen diesen Client noch immer, um den Befehl an redis zu senden, Sie brauchen diese Verbindung trotzdem. Wenn Ihre App läuft, hält sie eine Verbindung zu redis. Wenn Sie den Befehl an redis senden möchten, verwenden Sie diesen Client, um dies zu tun. Wenn Sie für jede Anfrage einen Client erstellen, ist das ein großer Kostenfaktor. – GuangshengZuo
Sie sollten den Client auf globale Variable festlegen, und überall in Ihrem Code könnte es verwenden. – GuangshengZuo