2017-08-28 113 views
1

我正在尋找將集成緩存服務與無服務器。將redis集成到無服務器

我決定和redis一起去。但是,通過閱讀npm redis,似乎您在完成請求後需要致電client.quit()

無服務器似乎工作的方式是生成實例,然後在不使用時刪除。所以我想知道在無服務器實例被刪除時是否有辦法退出redis連接。

或者我是否只需要在每個請求中啓動一個連接,然後在每個請求結束之前退出連接。

我希望我可以在應用狀態而不是請求狀態下這樣做,這樣我就不會產生這麼多的連接。

回答

0

不可以。連接可以重複使用。它不需要爲每個請求啓動一個新的連接。

如果您使用redis.creatClient()創建連接,則可以始終在您的應用程序中使用此連接。如果連接斷開,它具有重新連接機制。因此,在您的應用程序開發中,您不需要關心連接問題,只需獲取全局連接並始終使用它。

+0

所以我根本不需要調用'client.quit()'? 從我讀到的,如果你不打電話給它,它不會關閉連接。 –

+0

是的,如果你沒有調用client.quit(),它將不會關閉連接。但爲什麼你調用client.quit(),你的應用程序正在運行,並且仍然需要這個客戶端來發送命令到redis,你仍然需要這個連接。因此,當您的應用程序運行時,它會保持與redis的連接,無論何時您想要將命令發送到redis,都可以使用此客戶端來執行此操作。如果你爲每個請求創建一個客戶端,這將是一個很大的代價。 – GuangshengZuo

+0

您應該將客戶端設置爲全局變量,並且代碼中的任何地方都可以使用它。 – GuangshengZuo